我已经设置了一个RabbitMQ集群,它有3个节点:rabbit1,rabbit2和rabbit3,每个节点都在docker容器中运行。RabbitMQ集群不会选出新的主节点
所有队列在三个节点之间镜像,rabbit1是主节点。当我停止rabbit2或rabbit3的容器时,剩下的两个节点工作正常。如果我有一个队列中的3条消息,这些消息仍然存在于rabbit1和另一个仍在运行的节点上。
但是,如果我停止rabbit1,则会清空rabbit2和rabbit3的队列,直到我再次启动rabbit1。如果我向rabbit2或rabbit3发送消息,则收到该消息但未保存到队列中;而当rabbit1启动并且我发送了一些信息给rabbit2/rabbit3时,消息被保存并正确同步。
是否有任何方式或任何配置,我需要考虑,以便主机关闭时消息不从奴隶清空,但奴隶选择一个新的主人,或至少保存消息保存? 非常感谢您提前。
我应该澄清一下:我设置了正确的策略来在所有备注中复制消息并自动进行同步。这就是为什么我很困惑,为什么它不工作。我的政策如下:rabbitmqctl set_policy ha-all“^ ha \”。 “{”“ha-mode”“:”“all”“”“ha-sync-mode”:“automatic”}“ – KaffeeKaethe
所以根据这个”如果停止包含镜像队列主节点的RabbitMQ节点,某些其他节点上的一些从设备将被提升为主设备“它应该工作 – KaffeeKaethe
您的队列的名称是什么? –