首页 > 解决方案 > 如何管理与 RabbitMQ 的大量连接

问题描述

当我们有超过 3000 个连接/秒的峰值时,我们的 rabbitmq 服务器无法跟上连接,并且新连接需要很长时间才能稳定(达到失败的 3 秒限制)。我们需要发布者快速返回,因为任何延迟都会影响用户体验。

我们目前正在研究将连接到第二个 rabbitmq 服务器的负载平衡编码为一种快速的临时解决方案。

我们只在需要发布时创建连接,并且按照最佳实践建议,我们为相同的 Web 请求/流程重用相同的连接和通道。PHP 进程的本质是在 web 请求之后死掉。

我可以重复使用连接在 Web 请求之间发布吗?

3000 连接/秒的峰值是否足以使 rabbitmq 服务器遭受 tpc 连接过载?

当我们未来有 10 倍的这个连接时,我们应该采取什么方向?

谢谢你。

标签: phprabbitmqphp-amqplib

解决方案


您可以使用amqproxy。它会让你重用连接。

如果您想要“10x”,您可以创建边缘节点 RabbitMQ 服务器,该服务器使用铲子将消息从边缘节点移动到连接消费者的中央集群。


推荐阅读