<div dir="ltr">Thanks for clarifying this Michael. I am trying to reflect what you have said on my scenario...<div><br></div><div>Let's say i have two nodes N1 and N2, and one Queue that is mirrored, the master and slave reside on N1 and N2 respectively; in such a case and as based on what you have advised, there is no way to distribute consumers and publishers load across two nodes because the same work will be done by the two nodes; thus to rectify, load distribution manifests itself when we have two or more mirrored queues distributes across 3 or more machines...</div>
<div><br></div><div>Is my assumption correct?</div><div><br></div><div>Thank you</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 12, 2014 at 9:21 PM, Michael Klishin <span dir="ltr"><<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""> On 12 June 2014 at 22:18:27, Shadi Mari (<a href="mailto:shadimari@gmail.com">shadimari@gmail.com</a>) wrote:<br>

> > Does that mean that if i have two publishers declare the same<br>
> queue on different nodes of the cluster, i will end up having two<br>
> master queues and two slaves?<br>
<br>
</div>queue.declare is idempotent. If you declare a queue that already exists<br>
with the same attributes, nothing happens. If the attributes differ, you get<br>
an error.<br>
<div class=""><br>
> What is the right way and best practice to mix load balancing with<br>
> HA on RabbitMQ?<br>
<br>
</div>"the right way" depends on what you do. Having a load balancer in front of<br>
a cluster to distribute queue masters is one technique. Not mirroring to all<br>
nodes in the cluster is another (2-3 nodes is often sufficient). Having<br>
your consumers connect to queue masters to avoid intra-cluster traffic<br>
(you can infer queue masters from queue info over HTTP API) will <br>
increase throughput.<br>
<br>
The goal is to spread queue masters between nodes and improve data locality.<br>
<div class="HOEnZb"><div class="h5">--<br>
MK<br>
<br>
Software Engineer, Pivotal/RabbitMQ<br>
</div></div></blockquote></div><br></div>