在Rabbitmq自动群集Kubernetes安装中,消息不会在Pod重启中生效

时间:2017-10-23 14:58:50

标签: rabbitmq kubernetes

我根据公共存储库在Kubernetes中创建了带有3个Pod的Rabbitmq autocluster: https://github.com/kuberstack/kubernetes-rabbitmq-autocluster

队列中的消息不会在以下基本方案中重新启动Pod:

  1. 创建持久队列" test"
  2. 将消息发送到队列"测试"
  3. 等待10分钟并删除pod 1。
  4. 等待10分钟并删除pod 2。
  5. 等待10分钟并删除pod 3。
  6. 列出队列。
  7. 删除所有3个播客后,排队"测试"永远不存在。删除每个pod后,群集正常工作,我可以发送和接收新消息。

    看起来Rabbitmq并没有将现有消息复制到新的pod。如何强制Rabbitmq与新pod共享所有消息?

    非常感谢,

    RabbitMq启动日志: Log file

1 个答案:

答案 0 :(得分:1)

您需要验证队列是否在群集中镜像了其内容。

RMQ允许管理员创建应用于某些/所有队列的策略,以便复制内部包含的消息。否则,一条消息只存储在一个代理上,如果该代理发生故障,它将无法使用。

政策说明出现在https://www.rabbitmq.com/ha.html