Ensure a new RabbitMQ quorum queue replicas are spread among cluster's availability zones

465 Views Asked by At

I'm going to run a multi-node (3 zones, 2 nodes in each, expected to grow) RabbitMQ cluster with many dynamically created quorum queues. It will be unmanageable to tinker with the queue replicas manually.

I need to ensure that a new quorum queue (1lead, 2repl) always spans all 3 AZs to be able to survive an AZ outage. Is there a way to configure node affinity to achieve that goal?

There is one poor man's solution (actually, pretty expensive to do right) that comes on my mind:

  • create queues with x-quorum-initial-group-size=1
  • have a reconciliation script that runs periodically and adds replica members to nodes in the right zones

Of course, build in feature for configurable node affinity, which I might miss somehow, would be the best one.

0

There are 0 best solutions below