[rabbitmq-discuss] RabbitMQ mirrored queues and node failure

Major Hayden major at mhtx.net
Fri Nov 18 14:31:52 GMT 2011


I'm still a bit confused on some of the operations behind the scenes with mirrored queues.  The documentation states:

  "All actions other than publishes go only to the master, 
  and the master then broadcasts the effect of the actions 
  to the slaves."

This makes it sounds like publishes go to the slaves and everything else goes to the master.  This confuses me because the documentation also states:

  "... slaves apply the operations that occur to the master 
  in exactly the same order"

The statements seem contradictory.  The first statement makes it seem like publishes go to slaves, but wouldn't publishes need to go to the master (and be replicated to the slaves)?

My goal is to place a load balancer in front of the cluster running mirrored queues and I'm unsure where to direct the traffic.

--
Major Hayden
major at mhtx.net

On Nov 16, 2011, at 3:55 PM, Matthias Radestock wrote:

> On 16/11/11 21:44, Major Hayden wrote:
>> 1) Does C come back up with the 10 messages that it had on it before
>> it failed?
>> 2) What happens to those 10 stale, old messages that node C had on it
>> before it failed (that were already picked up from nodes A and B by
>> consumers)?
> 
> From http://www.rabbitmq.com/ha.html#start-stop
> 
> <quote>
> when a slave rejoins a mirrored-queue, it throws away any durable local
> contents it already has and starts empty. It's behaviour is at this
> point the same as if it were a new node joining the cluster.
> </quote>
> 
> Btw, ...
> 
>> While repairs are being made to C's rack, consumers still talk to
>> nodes A and B to pick up and drop off messages.  Let's say the queues
>> on A and B are reduced to zero several times while C is offline and
>> then C comes back online.
> 
> I think you may have misunderstood the master/slave behaviour of mirrored queues. From http://www.rabbitmq.com/ha.html#behaviour
> 
> <quote>
> All actions other than publishes go only to the master, and the master then broadcasts the effect of the actions to the slaves. Thus clients consuming from a mirrored queue are in fact consuming from the master.
> </quote>
> 
> 
> Regards,
> 
> Matthias.



More information about the rabbitmq-discuss mailing list