没有设置镜像策略的 HA RabbitMQ
HA RabbitMQ without set mirror policy
我使用集群和镜像队列为 rabbitmq 设置了关于 ha 的实验。
我正在使用 centos 7 和 rabbitmq-server 3.3.5。具有三个服务器(ha1、ha2、ha3)。
我刚刚将ha1 和ha2 加入ha3,但没有为镜像队列设置策略。当我在 ha1 服务器上测试名称为 "hello" 的创建队列时,在我使用 rabbitmqctl list queue 检查 ha2 和 ha3 之后,集群上的所有节点上都存在 hello 队列。
我有一个问题,为什么我没有在集群上设置镜像队列策略,但是在集群上的任何节点上都创建了自动镜像队列?
请给我建议我有错误或只加入集群上的节点,队列将在集群的所有节点上镜像。谢谢
在rabbitmq中,默认情况下,一个队列只存储到一个节点。创建集群时,队列可跨节点使用。
但这并不意味着队列是镜像的,如果节点宕机队列被标记为宕机,您将无法访问。
假设给节点创建一个队列,队列会一直工作到节点起来,如:
如果节点已关闭,您将拥有:
您应该始终应用镜像策略,否则您可能会丢失消息
我使用集群和镜像队列为 rabbitmq 设置了关于 ha 的实验。 我正在使用 centos 7 和 rabbitmq-server 3.3.5。具有三个服务器(ha1、ha2、ha3)。
我刚刚将ha1 和ha2 加入ha3,但没有为镜像队列设置策略。当我在 ha1 服务器上测试名称为 "hello" 的创建队列时,在我使用 rabbitmqctl list queue 检查 ha2 和 ha3 之后,集群上的所有节点上都存在 hello 队列。
我有一个问题,为什么我没有在集群上设置镜像队列策略,但是在集群上的任何节点上都创建了自动镜像队列?
请给我建议我有错误或只加入集群上的节点,队列将在集群的所有节点上镜像。谢谢
在rabbitmq中,默认情况下,一个队列只存储到一个节点。创建集群时,队列可跨节点使用。
但这并不意味着队列是镜像的,如果节点宕机队列被标记为宕机,您将无法访问。
假设给节点创建一个队列,队列会一直工作到节点起来,如:
如果节点已关闭,您将拥有:
您应该始终应用镜像策略,否则您可能会丢失消息