[rabbitmq-discuss] High Scalability and High Availability...How to?!!

Michael Klishin mklishin at gopivotal.com
Thu Jun 12 19:21:57 BST 2014

 On 12 June 2014 at 22:18:27, Shadi Mari (shadimari at gmail.com) wrote:
> > Does that mean that if i have two publishers declare the same  
> queue on different nodes of the cluster, i will end up having two  
> master queues and two slaves?

queue.declare is idempotent. If you declare a queue that already exists
with the same attributes, nothing happens. If the attributes differ, you get
an error.

> What is the right way and best practice to mix load balancing with  
> HA on RabbitMQ?

"the right way" depends on what you do. Having a load balancer in front of
a cluster to distribute queue masters is one technique. Not mirroring to all
nodes in the cluster is another (2-3 nodes is often sufficient). Having
your consumers connect to queue masters to avoid intra-cluster traffic
(you can infer queue masters from queue info over HTTP API) will 
increase throughput.

The goal is to spread queue masters between nodes and improve data locality.

Software Engineer, Pivotal/RabbitMQ

More information about the rabbitmq-discuss mailing list