Son Lam
Son Lam

Reputation: 1320

HA RabbitMQ without set mirror policy

I set up lab about ha for rabbitmq using cluster and mirror queue. I am using centos 7 and rabbitmq-server 3.3.5. with three server (ha1, ha2, ha3).

I have just joined ha1 and ha2 to ha3, but do not set policy for mirror queue. When I test create queue with name "hello" on ha1 server, after i check on ha2, and ha3 using rabbitmqctl list queue, hello queue is exist on all node on cluster.

I have a question, why i do not set policy to mirror queue on cluster, but it automatic mirror queue have been created on any node on cluster?

Please give me advice about I have mistake or only join node on cluster, queue will be mirror on all node of cluster. Thanks

Upvotes: 0

Views: 874

Answers (1)

Gabriele Santomaggio
Gabriele Santomaggio

Reputation: 22702

In rabbitmq , by default, one queue is stored only to one node. When you create a cluster, the queue is available across nodes.

But It does't mean that the queue is mirrored, if the node gets down the queue is marked as down and you can't access.

Suppose to create one queue to the node, the queue will work until the node is up, as:

enter image description here

if the node is down you will have:

enter image description here

you should always apply the mirror policy, otherwise you could lose the messages

Upvotes: 0

Related Questions