<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 5:00 AM,  <span dir="ltr">&lt;<a href="mailto:rabbitmq-discuss-request@lists.rabbitmq.com" target="_blank">rabbitmq-discuss-request@lists.rabbitmq.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">

&gt; 2) Ensure that the master queue processes are spread out evenly across
&gt; the available nodes.

...in combination with ensuring that there are no more mirrors than you 
actually need in order to get the desired level of redundancy. I.e. use 
the &#39;exactly&#39; ha-mode rather than &#39;all&#39;. Otherwise you are wasting 
valuable resources on keeping superfluous slaves up to date.
</pre></blockquote><div><br></div><div style>It would be useful to automate the intelligent placement of queue mirrors for such multi-queue set ups so that related HA queues are spread across nodes in the cluster while minimizing their overlap.</div>

<div style><br></div><div style>You could add an argument to queue declaration that is a queue meta-name.  Related queues would share the same meta-name.  E.g. if you wanted to created HA queues using the &quot;exactly&quot; ha-mode named incoming1 and incoming2, you could use a meta-name of &quot;incoming&quot;.  RMQ would then attempt to place the mirrors on different nodes.  E.g. in a four node cluster with exactly == 2, it would place one mirrors on each node without any overlap.</div>

<div style><br></div><div style>As it is, I don&#39;t believe exactly provides any guarantee as to where mirrors will be located, so the mirrors of your two queues could be placed on the same nodes creating hot spots.</div>

<div style><br></div><div style><br></div><div style><br></div></div></div></div>