RabbitMQ-奇怪的同步行为

RabbitMQ-奇怪的同步行为,rabbitmq,message-queue,Rabbitmq,Message Queue,我有一个简单的RabbitMQ集群,它有两个物理上相同的linux节点:(CentOS、RabbitMQ 3.1.5、Erlang R15B、2GB Ram、CPU 1xCore)。节点的镜像和同步已打开 我有两个问题困扰着我: 在正常情况下,一切正常,但在重新启动其中一个节点(通过命令行中的stop_app和start_app)后,生产者和消费者将无法使用整个集群-在同步期间,我无法从队列生成或接收消息。这种情况正常吗 在同步过程中,我观察到从节点(重新启动的节点)上的CPU负载非常高(几乎1

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

我有两个问题困扰着我:

  • 在正常情况下,一切正常,但在重新启动其中一个节点(通过命令行中的stop_app和start_app)后,生产者和消费者将无法使用整个集群-在同步期间,我无法从队列生成或接收消息。这种情况正常吗

  • 在同步过程中,我观察到从节点(重新启动的节点)上的CPU负载非常高(几乎100%)。我测量了同步的速度——非常低(同步200万条消息需要3个小时以上)。这很奇怪,因为生产如此数量的产品所需的时间要少得多。这种情况也正常吗


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

  • 同步时,情况就是这样。这是RabbitMQ HA文档的摘录

    如果队列设置为自动同步,它将同步 每当一个新的从机加入时-在加入之前变得无响应 所以
  • 如果从磁盘读取消息并将其持久化到磁盘(通过选择或通过内存限制),则可能存在开销。您可以在博客条目上看到一个图表(这是评论之前的最后一个图表),表明在读取和写入这么多消息的队列时,性能会发生变化。这些图表是针对RabbitMQ的旧版本的,但我没有看到任何更新的
  • 希望这有帮助


    您的节点是如何设置的?当两个节点都在运行时,是否可以运行
    rabbitmqctl cluster\u status
    ,并指示要重新启动的节点?