[rabbitmq-discuss] Mechanism to Add Nodes to the Mirror Queue actively
simon at rabbitmq.com
Tue Apr 9 11:48:28 BST 2013
On 09/04/13 01:50, Lujin wrote:
> Hello RabbitMQ Devs,
> In recent days, I've been experimenting with RabbitMQ's HA mechanism to
> get messages mirrored to different nodes. I am concerned mainly with
> fail over scenarios where the message would be lost if all the nodes for
> Queue X goes down.
> What I have observed is that as it is right now (3.0.0), the broker
> doesn't actively find a node in the cluster to mirror the queue whenever
> a node fails over.*
Yeah. The reason for this is to avoid repeatedly migrating queues to new
nodes when shutting down a cluster.
Otherwise imagine you have a cluster ABCD. The queue is on AB. You shut
down A; it starts up on C. You shut down B, it starts up on D - and
you've lost data if the queue didn't get time to synchronise.
> So what I do is, whenever a node fails over, I immediately delete the
> HA-2 policy and then immediately add the same HA-2 policy right back.
> This is the only way that I know of that allows the queue to pick up a
> node from my cluster for mirroring. (Without bringing the node back up)
> Yes, the new node will be unsynchronized but with active
> synchronization, this is not a big problem.
> *So my question is: Are there other ways for a mirrored queue to
> actively find node(s) in the cluster to mirror to without some intricate
> steps like the ones above? Perhaps there's a plugin in the works or some
> new feature in a upcoming version relaese?
I'm afraid not yet.
More information about the rabbitmq-discuss