RabbitMQ关机时ha升级vs失败时ha促销

时间:2019-05-13 07:04:29

标签: rabbitmq

https://www.rabbitmq.com/ha.html上,我了解了这两个属性:

  • 关闭时促销
  • 失败升级

但是我找不到关于这些的任何定义。这两个属性之间的主要区别是什么?什么时候使用?以及如何配置它以实现可用性一致性(CAP定理)?

1 个答案:

答案 0 :(得分:1)

  

这两个属性之间的主要区别是什么?

两者之间的区别在于后者可能由于各种原因而发生,例如节点重启,网络故障等。它们都有不同的触发点。当节点发生故障,失去连接或从集群中移除时,将触发render() { return ( <div> <HighchartsReact ... callback={function(chart) { chart.renderer.label().css().attr().add() }} /> </div> ); } 。当节点正常关闭时,将触发ha-promote-on failure

  

何时应用?

当队列主节点发生故障时,RabbitMQ提供了一个选项来升级包含该队列的节点作为主队列节点。使用ha-promote-on-shutdownha-promote-on failure参数配置升级的方式。

  1. ha-promote-on-shutdown:当参数设置为always时,包含该队列的任何一个节点都将被选为主节点。使用此选项,队列可能无法同步,并且可能丢失消息。

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

默认情况下,when-synced设置为ha-promote-on-shutdown,而when-synced设置为ha-promote-on-failure

  

以及如何配置它以实现可用性一致性   (CAP定理)?

要保持一致性,请使用always;要获得可用性,请使用when-synced

参考-https://www.rabbitmq.com/ha.html#promoting-unsynchronised-mirrors