没有设置镜像策略的 HA RabbitMQ

Posted

技术标签:

【中文标题】没有设置镜像策略的 HA RabbitMQ【英文标题】:HA RabbitMQ without set mirror policy 【发布时间】:2016-03-31 08:50:33 【问题描述】:

我使用集群和镜像队列为rabbitmq建立了关于ha的实验室。 我正在使用 centos 7 和 rabbitmq-server 3.3.5。三台服务器(ha1、ha2、ha3)。

我刚刚将ha1和ha2加入了ha3,但没有为镜像队列设置策略。当我在 ha1 服务器上测试创建名为“hello”的队列时,在我使用 rabbitmqctl list queue 检查 ha2 和 ha3 后,集群上的所有节点上都存在 hello 队列。

我有一个问题,为什么我没有在集群上设置镜像队列的策略,但在集群上的任何节点上都创建了自动镜像队列?

如果我有错误或只加入集群上的节点,请给我建议,队列将在集群的所有节点上镜像。谢谢

【问题讨论】:

【参考方案1】:

在 rabbitmq 中,默认情况下,一个队列只存储到一个节点。创建集群时,队列可跨节点使用。

但这并不意味着队列是镜像的,如果节点宕机了,则队列被标记为宕机,你无法访问。

假设给节点创建一个队列,队列会一直工作到节点up,如:

如果节点关闭,您将拥有:

您应该始终应用镜像策略,否则您可能会丢失消息

【讨论】:

是的,谢谢亲。当创建队列的主集群关闭时,我忘记了测试。当 master 的队列集群关闭时,队列将在所有集群上被删除 不客气,我建议更新到版本3.6.1你正在使用旧版本。如果您认为答案正确,请采纳。 @SơnLâm

以上是关于没有设置镜像策略的 HA RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章

Greenplum 数据库中的时间点恢复

关于HA-MIR镜像双机虚拟IP与周立功CANET-200T采用UDP模式通讯技巧

vSphere HA准入控制策略详解

[SQL SERVER][HA]数据库镜像#简介

从虚拟机上可以反向查询openstack管理机器么

用于复制的 Kafka 设置策略?