[rabbitmq-discuss] Preserving Order Across Multiple Consumers on a Single Queue

Charles Law charles.law at openx.com
Sun Jul 1 17:42:15 BST 2012

We are setting up RabbitMQ to accept CRUD messages and talk to consumers 
that will directly interact with our databases (each account on our system 
has a dedicated database & queue).  For a particular queue/database we 
would like to prevent collisions on items in the database.  Unless we parse 
our messages out, that would mean that RabbitMQ would need to preserve 
message order on a queue.

Ideally we want multiple consumers, with each consumer subscribed to 
multiple queues.  And if possible, at any point in time, each queue would 
only have 1 message being processed by our set of consumers.  We'd only 
send another message from a queue out to our consumers after getting an 
acknowledgement back that the current one is done.  We'll have multiple 
queues, so across the different queues message order doesn't matter.

We did consider using an exclusive queues, but we want to balance our loads 
so if 1 account/queue is very active, it is spread across all our consumers.

Can we set this up fairly easily with RabbitMQ?  Or use a different setup 
to accomplish the same goal?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120701/edc81ca6/attachment.htm>

More information about the rabbitmq-discuss mailing list