[rabbitmq-discuss] |Spam| Queue message replication in clusters with mirrored queues

Simon MacMullen simon at rabbitmq.com
Mon May 19 16:18:03 BST 2014


On 19/05/2014 15:43, Devangana Tarafdar wrote:
> I am trying to understand how clusters with mirrored queues operate on
> data (messages as well as data about queues). From the doc at
> https://www.rabbitmq.com/ha.html
>
> "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."
> So I understand that;
>
> 1.  There is only one node that has the queue process running. Other
> nodes have enough information to start up a queue process should the
> master go down.

Other nodes have a slave process that is quite a lot of the way towards 
being a queue, it maintains (almost) all the same data structures, it 
just never talks to clients.

So it depends how you look at it.

> 2. Queue data for persistent queues is stored on disk on all nodes of
> cluster. So persistent data is replicated.
> 3. Queue data that is not persistent is stored on ram on all nodes of
> the cluster. So ram data is replicated.

Replication is orthogonal to persistence really. And it doesn't really 
make sense to think of queues as "persistent" or not since durable 
queues can contain transient messages, and transient queues can page to 
disk under memory pressure...

Cheers, Simon


More information about the rabbitmq-discuss mailing list