我们已经建立了一个有 3 个节点的 RabbitMQ 集群。如果努力实现某种形式的负载平衡,我们将策略设置为仅在 2 个节点之间同步:
rabbitmqctl set_policy ha-2 . '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
当所有 3 个节点都在线时,这将按预期工作。
当我们关闭其中一个节点(以模拟故障)时,在故障节点上主控的队列仍然可用(在从属节点上)但不同步到另一个节点。如果我们手动重新应用策略,队列就会按预期同步。
我们是否应该期望在一个节点使用此策略失败的情况下镜像所有队列?