<div dir="ltr"><div>Simon, Alvaro, and Darren,</div><div> </div><div>Thank you for your helpful replies. I apologize for dropping the ball on this thread. I remain acutely interested in this topic, just been busy...</div><div>
 </div><div>So let me add an element to the HA cluster environment: suppose I have two HA clusters, perhaps geographically separated. The two clusters are connected via the Shovel plugin. Some questions:</div><div> </div>
<div>a. First, do I rightly assume that it's possible to connect HA clusters via Shovel?</div><div> </div><div>b. If my component on cluster A publishes a message to its local broker, will that message get sent via Shovel to the remote cluster? I think what I'm asking here concerns whether or not *my* component must publish to the Shovel itself, or does the cluster "know" to propagate the message via Shovel? I ask this because I'm wondering how far I can push the mirroring capabilities of the logical broker. I seem to recall that the local end of a Shovel would appear to local components as a regular exchange.</div>
<div> </div><div>c. Finally, does Shovel permit more than two peer clusters or, if I had 3 clusters, would I need 3 Shovels interconnecting them?</div><div> </div><div>Thanks again.</div><div> </div><div>-Paul</div><div> </div>


</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 28, 2013 at 10:45 AM, Darren Govoni <span dir="ltr"><<a href="mailto:darren@ontrenet.com" target="_blank">darren@ontrenet.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It should also be noted that if the "master" node for an HA queue becomes inactive a new one is elected.<div class="HOEnZb">
<div class="h5"><br>
<br>
On 11/28/2013 10:12 AM, Alvaro Videla wrote:<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
Hi,<br>
<br>
On Thu, Nov 28, 2013 at 2:36 PM, Paul <<a href="mailto:arachweb@gmail.com" target="_blank">arachweb@gmail.com</a>> wrote:<br>
<br>
<blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
My concern is that in an HA Queue implementation, a given message could be consumed more than once, i.e., once on computer A and once on B. Consequently, the same unit of work will be executed twice, and that's no good.<br>

</blockquote>
No. RabbitMQ will ensure that a message will be seen by just one<br>
consumer. If a message arrived to queue Q, which is mirrored on node A<br>
and node B, the message will be replicated across those nodes, but<br>
still RabbitMQ will send the message to just one consumer. HA queues<br>
have a master node and it will synchronise work with the slave queues.<br>
<br>
Of course what Simon says above also applies. If a message got routed<br>
to more than one queue, then that particular message could be seen by<br>
more than one consumer, but that doesn't seem to be what you are<br>
asking here.<br>
<br>
For a particular queue (whether HA or not) messages are delivered just<br>
once. If the consumer is in ack mode and it crashes before acking,<br>
then yes, that message will be requeued and delivered again.<br>
<br>
Also one recommendation, although not easy to achieve, is to have<br>
idempotent consumers.<br>
<br>
Regards,<br>
<br>
Alvaro<br>
______________________________<u></u>_________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.<u></u>rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/<u></u>cgi-bin/mailman/listinfo/<u></u>rabbitmq-discuss</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.<u></u>rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/<u></u>cgi-bin/mailman/listinfo/<u></u>rabbitmq-discuss</a><br>
</div></div></blockquote></div><br></div>