admin管理员组

文章数量:1657059

What are the main differences between these two properties?

两者的区别在于,后者的发生有多种原因,例如节点重启、网络故障等,两者的触发点不同。 ha-promote-on-failure 当节点出现故障、失去连接或从集群中删除时触发。ha-promote-on-shutdown 当节点被关闭时触发正常关机。

When are they applied?

当队列主节点发生故障时,RabbitMQ 提供了一个选项,可以将包含该队列的节点提升为主队列节点。使用 ha-promote-on failure 或 ha-promote-on-shutdown 参数配置如何完成此提升。

  1. always:当参数设置为always时,任何一个包含队列的节点都会被选为主节点。使用此选项,队列可能不同步,您可能会丢失消息。

  2. when-synced:当参数设置为when-synced时,将选择与主队列节点同步的节点。在这里您可以确定所选节点将包含与主节点相同的消息。但它有一个缺点。如果没有队列与 master 同步,则不会选择任何节点。

默认 ha-promote-on-shutdown 设置为 when-synced 并且 ha-promote-on-failure 设置为总是。

And how should I configure it to achieve Consistency over Availability (CAP theorem)?

对于一致性,使用when-synced;对于可用性,请使用 always

本文标签: HARabbitMQPromotefailureShutdown