即使存在与这些队列相关联的侦听器,RabbitMQ也会在一段时间内将消息堆积起来

时间:2017-08-20 05:55:40

标签: rabbitmq spring-rabbitmq

我的rabbitmq设置有一个情况。我的方案如下,

设定:

  1. 涉及2台虚拟机。
  2. 两个虚拟机每7秒循环发送25mb大小的消息。
  3. 有铲子设置用于在机器之间传输消息。
  4. 两台机器都有监听器来使用其他机器发送的消息。
  5. 听众只是消费这些消息然后出来。听众方无需处理。
  6. RabbitmQ经纪人启用了SSL
  7. 我正在使用 Spring RabbitMq
  8. 我正在使用 SimpleMessageListenerContainer 进行收听。
  9. 我的问题:

    1. 在一段时间内,比如在连续消息交换1.5天之后, 队列中有消息的累积。

    2. 听众已经开始,但消费率会在一段时间内减少 并且消息堆积在队列中。

    3. 队列中累积的部分消息处于未经处理状态。

    4. 我想尝试的事情:

      1. 增加号码。队列的听众。
      2. 增加侦听器的预取计数。
      3. 我的问题

        1. 为什么消息会在一段时间内累积。
        2. 之间是否存在任何网络干扰。我是否需要为听众添加额外的参数来解决网络干扰。
        3. 请在这里指导我。我需要帮助来微调我的设置以使其更加健壮。

1 个答案:

答案 0 :(得分:0)

此处有人调试您的应用程序非常困难。

  

消费率在一段时间内减少

这最像是应用程序的症状,而不是消息传递系统或框架。我会从那里开始。

  

之间是否有任何网络干扰。

使用最新版本的RabbitMQ,默认情况下会启用心跳,因此可以检测到任何此类“干扰”。