You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by MB <ma...@hotmail.com> on 2013/07/24 22:05:58 UTC
Active MQ - Message Groups
After reading ActiveMQ Message Groups feature
(http://activemq.apache.org/message-groups.html), I'm a little confused
about how it works in a clustered environment.
The basic premise as far as I can see is that messages of a particular type
(defined by the JMSXGroupID, set in a message) are all sent to a specific
consumer.
If I have 2 clients/consumers that I want to be connected to the broker to
provide both resiliency and performance, using message groups means, all
messages of a certain type will be pinned to one of the two consumers. If
that consumer goes down, messages of that type will then be pinned to
another consumer. Whilst this satisfies the resiliency criteria, this
creates redundancy, in that one consumer is doing nothing most of the time &
thus not helping to improve performance.
Does this mean when choosing Message Groups, you have to be aware that you
are sacrificing performance by being able to load balance a broker across
multiple consumers for the benefit of providing guaranteed processing order
of messages of a particular type?
--
View this message in context: http://activemq.2283324.n4.nabble.com/Active-MQ-Message-Groups-tp4669686.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Active MQ - Message Groups
Posted by Christian Posta <ch...@gmail.com>.
strict message ordering is always going to be at odds with performance.
what you're trying to do might be better accomplished with:
http://activemq.apache.org/exclusive-consumer.html
On Wed, Jul 24, 2013 at 4:05 PM, MB <ma...@hotmail.com> wrote:
> After reading ActiveMQ Message Groups feature
> (http://activemq.apache.org/message-groups.html), I'm a little confused
> about how it works in a clustered environment.
>
> The basic premise as far as I can see is that messages of a particular type
> (defined by the JMSXGroupID, set in a message) are all sent to a specific
> consumer.
>
> If I have 2 clients/consumers that I want to be connected to the broker to
> provide both resiliency and performance, using message groups means, all
> messages of a certain type will be pinned to one of the two consumers. If
> that consumer goes down, messages of that type will then be pinned to
> another consumer. Whilst this satisfies the resiliency criteria, this
> creates redundancy, in that one consumer is doing nothing most of the time
> &
> thus not helping to improve performance.
>
> Does this mean when choosing Message Groups, you have to be aware that you
> are sacrificing performance by being able to load balance a broker across
> multiple consumers for the benefit of providing guaranteed processing order
> of messages of a particular type?
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Active-MQ-Message-Groups-tp4669686.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta