We have a cluster with 3 nodes, we currently have the following HA (High Availability) mirror policy as shown below:

enter image description here

  1. Seeing as we specify the ha-params as 2, does this mean mirror to the 2 other nodes, or 2 nodes in total or the 3?
  2. Is this the same as the following where we just specify all, as there are only 3 nodes?

enter image description here

3

Best Answer


HA / classic mirroring is thoroughly documented here - https://www.rabbitmq.com/ha.html

NOTE: you should be using quorum queues instead - https://www.rabbitmq.com/quorum-queues.html

Classic mirroring will be removed in RabbitMQ 4.0


NOTE: the RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

A count value of 2 means 2 replicas: 1 queue leader and 1 queue mirror. In other words: NumberOfQueueMirrors = NumberOfNodes - 1.

to dig more details: https://www.rabbitmq.com/ha.html#mirroring-arguments

Delving deeper and with a bit more understanding I can see that specifying ha-params as 2 will mean that a total of 2 nodes will be mirrored, so one of the nodes wont be! It's no the same as the all one, as that would mirror to all nodes, which would make more sense to me currently.