thank you for the reply, Matt!

interesting that you mentioned the sorting of the messages by queues, because 
that is exactly what i am doing. sorry, i should have been more clear in my 
initial post. each message sequence is grouped and then posted to its own 
single queue, and no sequence spans more than one queue at any time.

GroupSeq1 --> Queue1
GroupSeq2 --> Queue2
...
GroupSeqN --> QueueN

when i send async (non-sequential) messages to a queue with multiple consumers, 
all members of the cluster get in on the action, not just the master. so i 
hoped for the same behavior when sending in several message groups, yet only 
the master ends up processing all the groups.

thanks!
________________________________
From: Matt Pavlovich <mattr...@gmail.com>
Sent: Friday, September 23, 2022 5:12 PM
To: users@activemq.apache.org <users@activemq.apache.org>
Subject: Re: sequential requests in a cluster

Hello Brock,

A ’slave’ broker in the technical sense does not have active transport 
connectors, so clients are not able to process messages. The slave is used as a 
standby instance during a failure scenario for the master broker.

Perhaps you have a different setup? Keep in mind— maintaining message order 
across multiple brokers to end clients is virtual impossible to guarantee.

If you need strict message ordering AND distribution across multiple brokers 
(aka partitioning) you may want to considert performing some sort of filtering 
or sorting of the message groups into separate queues.

Thanks,
Matt Pavlovich

> On Sep 23, 2022, at 2:48 PM, brock samson <brock.sams...@hotmail.com> wrote:
>
> I am running AMQ 5.15.x in a master/slave cluster setup with several queues. 
> while some queues have multiple consumers, others have only a single consumer 
> since their messages must be processed in the exact order they arrived. using 
> the "exclusive consumer" feature works fine with respect to maintaining the 
> order. the problem with that approach is all sequential messages always being 
> processed by the master, while the slaves are sitting around doing nothing. 
> grouping messages into groups does not seem solve this for me, as all group 
> are also being sent to the master. so is there a way to spread the load among 
> all cluster members while maintaining the processing sequence. perhaps 
> "assigning" each message group to a different cluster member? thank you for 
> your time!

Reply via email to