节点停止时删除RabbitMq队列

时间:2014-09-04 10:45:03

标签: rabbitmq

我创建了两个RabbitMQ节点(比如A和B),我已经将它们集群化了。然后,我在管理UI中完成了以下操作:

(请注意,节点A最初是主节点)

  1. 在节点A上,我创建了一个队列(durable = true,auto-delete = false),可以看到它在节点B上共享
  2. 停止节点A,我仍然可以在B(很棒)上看到它
  3. 再次启动节点
  4. 已停止节点B,队列已从节点A中删除
  5. 这似乎很奇怪,因为节点B甚至没有参与队列的创建

    然后我从节点B尝试了同样的事情:

    1. 在节点B上,我创建了一个队列(durable = true,auto-delete = false),可以看到它在节点A上共享
    2. 停止节点A,我仍然可以在B(很棒)上看到它
    3. 再次启动节点
    4. 已停止节点B,队列已从节点A中删除
    5. 我正在寻找的情况是,无论哪个节点停止,队列仍然可以在另一个节点上使用。

1 个答案:

答案 0 :(得分:1)

我刚刚注意到我设置的策略已从每个节点中删除...不明白为什么。如果其他人遇到同样的问题,您可以使用(例如)

创建策略
rabbitmqctl set_policy ha-all "^com\.mydomain\." '{"ha-mode":"all","ha-sync-mode":"automatic"}'

在RabbitMQ Web UI中立即引人注目,因为您可以看到队列定义上的策略(在本例中为“ha-all”)。

请参阅https://www.rabbitmq.com/ha.html了解创建和

请参阅政策管理部分http://www.rabbitmq.com/man/rabbitmqctl.1.man.html了解管理