跨集群队列的 RabbitMQ 策略同步

RabbitMQ policy synchronising of queues across cluster

我们已经设置了一个具有 3 个节点的 RabbitMQ 集群。如果努力实现某种形式的负载平衡,我们将策略设置为仅在 2 个节点之间同步:

rabbitmqctl set_policy ha-2 . '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'

当所有 3 个节点都在线时,这会按预期工作。

当我们关闭其中一个节点(以模拟故障)时,故障节点上掌握的队列仍然可用(在从属节点上)但未同步到另一个节点。如果我们手动重新应用策略,队列就会按预期同步。

我们是否应该期望在一个节点发生故障的情况下使用此策略对所有队列进行镜像?

在 RabbitMQ 3.5.4 中按预期工作