[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.
--
MK
Software Engineer, Pivotal/RabbitMQ
More information about the rabbitmq-discuss
mailing list