【发布时间】:2016-04-15 07:00:14
【问题描述】:
我已经建立了一个包含 3 个节点的 RabbitMQ 集群:rabbit1、rabbit2 和 rabbit3,每个节点都在 docker 容器中运行。
所有队列都在三个节点之间进行镜像,rabbit1 是 master。当我停止 rabbit2 或 rabbit3 的容器时,剩下的两个节点工作正常。如果我在队列中有 3 条消息,这些消息仍然存在于 rabbit1 和另一个仍在运行的节点上。
但是,如果我停止 rabbit1,rabbit2 和 rabbit3 的队列将被清空,直到我再次启动 rabbit1。如果我向rabbit2或rabbit3发送消息,则消息被接收但未保存到队列中;而当rabbit1启动并且我向rabbit2 / rabbit3发送一些东西时,消息会被保存并正确同步。
我是否需要考虑任何方式或任何配置,以便在主设备关闭时不会从从设备中清空消息,但从设备会选择新的主设备或至少保留消息? 非常感谢您。
【问题讨论】:
标签: docker rabbitmq cluster-computing message-queue