<meta charset="utf-8"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; ">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 &amp; queue). &nbsp;For a particular queue/database we would like to prevent collisions on items in the database. &nbsp;Unless we parse our messages out, that would mean that RabbitMQ would need to preserve message order on a queue.<div><br></div><div>Ideally we want multiple consumers, with each consumer subscribed to multiple queues. &nbsp;And if possible, at any point in time, each queue would only have 1 message being processed by our set of consumers. &nbsp;We'd only send another message from a queue out to our consumers after getting an acknowledgement back that the current one is done. &nbsp;We'll have multiple queues, so across the different queues message order doesn't matter.</div><div><br></div><div>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.</div><div><br></div><div>Can we set this up fairly easily with RabbitMQ? &nbsp;Or use a different setup to accomplish the same goal?</div></span>