RabbitMQ - 我如何配置服务器以实现零停机升级?

Ter*_*son 12 cluster high-availability rabbitmq

通读文档和RabbitMQ in Action 后,创建 RabbitMQ 集群似乎很简单,但升级或修补现有的 RabbitMQ 集群似乎需要重新启动整个集群。

有没有一种方法可以将集群、铲、联合和负载平衡结合起来,在不丢失队列或消息的情况下进行滚动升级,或者我是否错过了一些更明显的东西?

小智 1

当从 RabbitMQ 的一个主要或次要版本升级到另一版本(即从 3.0.x 到 3.1.x,或从 2.xx 到 3.xx),或者升级 Erlang 时,必须关闭整个集群以进行升级(因为集群不能运行这样的混合版本)。从一个补丁版本升级到另一个补丁版本(即从 3.0.x 升级到 3.0.y)时,情况不会出现这种情况;这些版本可以在集群中混合(但 3.0.0 不能与 3.0.x 系列的更高版本混合)。