Erlang / OTP升级会丢失现有的RabbitMQ消息

时间:2018-10-22 17:57:20

标签: rabbitmq erlang upgrade otp

我在本地Windows框中安装了Erlang/OTP 17RabbitMQ Server 3.4.3。在将产品升级到生产中的较新版本之前,我想在本地机器上尝试一下,看看升级是否会引起任何问题。我正在尝试将它们升级到最新版本-Erlang/OTP 21RabbitMQ Server 3.7.8。升级时,我丢失了所有现有消息。

我在多个队列中有一些现有消息。升级Erlang / OTP(21)后,我发现所有现有消息都消失了。我什至尝试安装更新的RabbitMQ Server(3.7.8),但仍然看不到队列中的旧消息。我认为mnesia数据库将有助于恢复消息。我想我可能不理解这个概念,或者我缺少一些设置。

我不希望我们的生产客户抱怨丢失的消息。在此主题上,我找不到在线帮助。但是,当然,RabbitMQ文档谈论的是Blue-Green Deployment Strategy,但从未做到过,因此不确定这是否对我们有帮助,还是太过分了并且有更简单的解决方案。另外,要补充一点,我做了所有手动升级。如果有人知道更好的单节点升级过程而又不丢失现有消息,请指导并帮助我。

1 个答案:

答案 0 :(得分:3)

文档明确指出您不能直接从版本3.4.3升级到版本3.7.8link。您必须先升级到3.6.16

对于您而言,使用blue-green upgrade是避免在3.6.16之前必须先升级到版本3.7.8的唯一方法。