Search code examples
rabbitmqrabbitmqctl

RabbitMQ policy synchronising of queues across cluster


We have setup a RabbitMQ cluster with 3 nodes. If an effort to have some form of load balancing, we setup the policy to only sync across 2 of the nodes:

rabbitmqctl set_policy ha-2 . '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'

This works as expected when all 3 nodes are online.

When we shutdown one of the nodes (to simulate a failure) queues mastered on the failed node are still available (on the slave) but not synchronized to another node. If we manually re-apply the policy, the queues then synchronize as expected.

Should we expect that all queues be mirrored in the scenario that one node fails with this policy?


Solution

  • Works as expected in RabbitMQ 3.5.4