增加 RabbitMQ 上的最大消费者数量

增加 RabbitMQ 上的最大消费者数量

我正在一个相当大的服务器(32GB RAM、双 SSD、八核 Intel 等)上运行 RabbitMQ 的单个实例,并且有大量应用程序从 RabbitMQ 发布和使用,没有任何问题。

今天早上部署另一个应用程序时,它根本无法启动,并抱怨无法连接。我减少了应用程序中的消费者数量,它连接得很好。查看我的 RabbitMQ 仪表板,我可以看到消费者数量固定在 900;再次增加应用程序中的消费者数量,应用程序会抛出各种异常,无法连接到 RabbitMQ。

因此,通过查看固定为 900 的消费者数量和我所看到的行为,我猜测我已经达到了某种消费者限制。

服务器空闲率为 1%,查看可用的 Erlang 进程,我发现1048576 available服务器上还剩余大量容量。

我该如何增加这个人为的 900 名消费者的限制?

答案1

您可能已达到文件描述符的最大数量。我猜您使用的是 Linux,许多发行版默认将此 ulimit 设置为 1024。当 RabbitMQ 达到此限制时,它无法接受更多连接。

RabbitMQ 网站上有一篇文章,介绍了你可以/应该调整哪些网络相关参数,特别是如何增加文件描述符 ulimit

答案2

似乎 RabbitMQ 节点根本无法处理更多连接,通过集群 RabbitMQ 解决了这个问题。

相关内容