[rabbitmq-discuss] Clustering, Mirrored queue and high availability in RabbitMQ

Dave Stevens daverstevens at gmail.com
Thu Jan 12 16:00:30 GMT 2012


I believe all of these are at least partially incorrect and/or
implementation dependent.

On Jan 12, 4:04 am, luke manner <lukeman... at gmail.com> wrote:
> Hi all,
> we are studing/testing RabbitMQ in order to use it on a big project.
>
> I'd like to know if it is correct:
>
>    1. If I have a mirrored queue, all consumers of this queue are all
>    connected to the master queue and not to the slaves (slaves are used for
>    backup if master node fails).

Consumers may be connected to slave nodes as well.

>    2. When a queue (mirrored or not) is  dinamically  created  by a client
>    in a cluster enviroment , it is created on the client's node and not in any
>    node of the cluster (so there is an automatic load balancing of queues in a
>    cluster)

When declaring an HA (mirrored) queue, it may be mirrored across all
nodes specified in the queue parameter. In regards to "automatic load
balancing", if consumers are all connected to 1 out of N nodes in a
cluster, it is obviously not load balanced.

>    3. If a client is connected to a mirrored queue and the master of the
>    queue fails/goes down, a slave is defined as a new master and new
>    connections go through the new node; but all old clients, that were using
>    connections to the old master node, have dead channel and RabbitMQ don't
>    create automatically connection to the new node.

In the process of being promoted to master, a slave queue will kick
off all of it's consumers (but not kill the connection obviously). The
recreation of these consumers must also be handled. Some higher level
client libraries support this. Spring Amqp (java/.NET) is one which
does to a certain degree at least. I believe Akka (java/scala) is also
able to take a collection of hosts and will attempt to reconnect to a
node on a different host if connection is lost.

>
> Are these sentences right?
>
> Thanks in advance!
> Luke
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list