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

Dave Stevens daverstevens at gmail.com
Thu Jan 12 23:18:00 GMT 2012


Just to clarify, it unfortunately appears that the java Spring AMQP
1.0.0.Release client does not restart the consumer on slave promotion
to master as I expected. It does automatically reconnect on
disconnect, but in the case of slave promotion to master, there is no
disconnect.

On Jan 12, 11:00 am, Dave Stevens <daverstev... at gmail.com> wrote:
> 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
>
> _______________________________________________
> 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