RabbitMQ - 奇怪的同步行为

时间:2013-09-25 22:51:29

标签: rabbitmq message-queue

我有简单的RabbitMQ集群,有2个物理上相同的linux节点:( CentOS,RabbitMQ 3.1.5,Erlang R15B,2GB Ram,CPU 1xCore)。打开镜像和节点同步。

我有两个困扰我的问题:

  1. 在正常情况下一切都很好,但在重新启动其中一个节点后(通过命令行中的stop_app和start_app),整个群集对生产者和消费者来说都是不可能的 - 我无法生成或接收来自同步期间的队列。这种情况是否正常?

  2. 在同步期间,我观察到从节点(重启的节点)上的CPU负载非常高(几乎100%)。我测量了同步的速度 - 它是戏剧性的低(200万条消息的同步需要超过3小时)。这很奇怪,因为产生这样的数量要少得多。这种情况也是正常的吗?

1 个答案:

答案 0 :(得分:2)

我最近的任务是在工作中研究RabbitMQ,因此深入了解文档。

  1. 同步时就是这种情况。这是RabbitMQ HA文档here的摘录。

      

    如果队列设置为自动同步,则会同步   每当一个新的奴隶加入时 - 在它完成之前变得没有反应   如此。

  2.   
  3. 如果消息正在被读取并持久存储到磁盘(通过选择或通过内存限制),那么可能存在开销。您可以在this博客条目上看到一个图表(这是评论之前的最后一个图表),表示在读取和写入该多条消息的队列时存在性能变化。这些图表适用于旧版本的RabbitMQ,但我没有看到更新的版本。
  4.      希望这有帮助!