[rabbitmq-discuss] RabbitMQ scalability design question

Anton Sizov a.sysoff at gmail.com
Wed Jul 24 11:13:34 BST 2013


By default queue resides at node, where it was created. As far as I know, 
client may consume(get, receive) messages from any rabbitmq node in 
cluster. There is no necessary to mirror queue (and also you are right, it 
reduce performance). Each node knows about where target each queue placed. 
Also you can publish messages to any node in cluster. Message will be 
delivered to node where target queue was created.
Mirroring is suitable when you want to replicate you messages for case of 
node failure or db file corruption.

On Wednesday, July 24, 2013 11:04:13 AM UTC+3, Flavio Pompermaier wrote:
>
> Hi to all,
> In my application I have a queue that could potentially become very big. 
> From what I understood queues cannot be splitted among different machines, 
> a single queue resided only on a single node..am I wrong?
> What if I discover that my machine is not able to keep up with message 
> rate?
> Maybe I should start mirroring the queue on multiple servers so I can 
> multiply the number of consumers? 
> Is this approach scalable or does the synchronization overhead kill the 
> performance?
>
> Best,
> Flavio
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130724/b3aae0f5/attachment.htm>


More information about the rabbitmq-discuss mailing list