2016-09-30 91 views
0

我们有一个使用Spring AMQP从rabbitmq获取消息的Java应用程序。 对于某些队列,消费者数量不会增加,从而导致邮件传递速率变慢。 例如即使最大消费者设置为50,但在大多数时间内,消费者的数量仍然为6,以用于9000消息的加载。RabbitMQ消费者没有加起来

但是,其他队列情况并非如此。我的消费者数量达到了其他队列的35。

我们使用SimpleMessageListenerContainer的setMaxConcurrentConsumers API来设置最大消费者。

有人能帮我理解吗?


配置:
数量的并发用户数:4
数量最大并发消费者:50

回答

0

当问这样的问题,你必须总是显示配置。用完整的细节编辑你的问题。

这取决于您的配置。默认情况下,新消费者每10秒只添加一次,并且只有当现有消费者收到10条消息时没有任何空白。

如果仍然无法回答您的问题,请启用DEBUG日志记录。如果你无法从中找到答案,可以在日志(至少包含startConsumerMinInterval毫秒)的地方发布,比如pastebin或dropbox。

+0

谢谢你回复Gary!我更新了我们正在使用的配置的问题。在队列中有9000条消息,它不应该增加更多消费者来增加消息传递速率吗? 6位消费者的送货率为0.60/s。我们可以假设每个消费者都以0.10/s(1msg/10sec)的速度发货吗? 这样,邮件就堆积如山了。无论如何,我会尝试在DEBUG级别上重现此场景。 –