Thanks Dave for your reply.<div><br><div><br></div><div>>>1. If I have a mirrored queue, all consumers of this queue are all<br><div class="im">>> connected to the master queue and not to the slaves (slaves are used for<br>
>> backup if master node fails).<br><br></div>>Consumers may be connected to slave nodes as well.
</div><div><br></div><div><br></div><div>You're right, I didn't express myself in the correct way.</div><div>I wanted to say that if I have a mirrored queue and I have a consumer that is connected to a slave node, a message is consumed from master queue and not from slave queue; is this right?</div>
<div><br><br><div class="gmail_quote">2012/1/12 Dave Stevens <span dir="ltr"><<a href="mailto:daverstevens@gmail.com">daverstevens@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I believe all of these are at least partially incorrect and/or<br>
implementation dependent.<br>
<div class="im"><br>
On Jan 12, 4:04 am, luke manner <<a href="mailto:lukeman...@gmail.com">lukeman...@gmail.com</a>> wrote:<br>
> Hi all,<br>
> we are studing/testing RabbitMQ in order to use it on a big project.<br>
><br>
> I'd like to know if it is correct:<br>
><br>
</div>> 1. If I have a mirrored queue, all consumers of this queue are all<br>
<div class="im">> connected to the master queue and not to the slaves (slaves are used for<br>
> backup if master node fails).<br>
<br>
</div>Consumers may be connected to slave nodes as well.<br>
<br>
> 2. When a queue (mirrored or not) is dinamically created by a client<br>
<div class="im">> in a cluster enviroment , it is created on the client's node and not in any<br>
> node of the cluster (so there is an automatic load balancing of queues in a<br>
> cluster)<br>
<br>
</div>When declaring an HA (mirrored) queue, it may be mirrored across all<br>
nodes specified in the queue parameter. In regards to "automatic load<br>
balancing", if consumers are all connected to 1 out of N nodes in a<br>
cluster, it is obviously not load balanced.<br>
<br>
> 3. If a client is connected to a mirrored queue and the master of the<br>
<div class="im">> queue fails/goes down, a slave is defined as a new master and new<br>
> connections go through the new node; but all old clients, that were using<br>
> connections to the old master node, have dead channel and RabbitMQ don't<br>
> create automatically connection to the new node.<br>
<br>
</div>In the process of being promoted to master, a slave queue will kick<br>
off all of it's consumers (but not kill the connection obviously). The<br>
recreation of these consumers must also be handled. Some higher level<br>
client libraries support this. Spring Amqp (java/.NET) is one which<br>
does to a certain degree at least. I believe Akka (java/scala) is also<br>
able to take a collection of hosts and will attempt to reconnect to a<br>
node on a different host if connection is lost.<br>
<div class="im"><br>
><br>
> Are these sentences right?<br>
><br>
> Thanks in advance!<br>
> Luke<br>
><br>
</div>> _______________________________________________<br>
> rabbitmq-discuss mailing list<br>
> rabbitmq-disc...@lists.rabbitmq.comhttps://<a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</blockquote></div><br></div></div>