php - 如何管理与 RabbitMQ 的大量连接
问题描述
当我们有超过 3000 个连接/秒的峰值时,我们的 rabbitmq 服务器无法跟上连接,并且新连接需要很长时间才能稳定(达到失败的 3 秒限制)。我们需要发布者快速返回,因为任何延迟都会影响用户体验。
我们目前正在研究将连接到第二个 rabbitmq 服务器的负载平衡编码为一种快速的临时解决方案。
我们只在需要发布时创建连接,并且按照最佳实践建议,我们为相同的 Web 请求/流程重用相同的连接和通道。PHP 进程的本质是在 web 请求之后死掉。
我可以重复使用连接在 Web 请求之间发布吗?
3000 连接/秒的峰值是否足以使 rabbitmq 服务器遭受 tpc 连接过载?
当我们未来有 10 倍的这个连接时,我们应该采取什么方向?
谢谢你。
解决方案
您可以使用amqproxy。它会让你重用连接。
如果您想要“10x”,您可以创建边缘节点 RabbitMQ 服务器,该服务器使用铲子将消息从边缘节点移动到连接消费者的中央集群。
推荐阅读
- c# - 我想从我的 OnAppearing() 开始每分钟运行一个方法。我需要将其作为任务运行吗?
- mysql - 使用 GROUP BY 的最后一个值
- pip - 是否可以从 conda 包创建 python 轮?
- express - curl:从帖子路由重定向以获取路由
- laravel - Laravel宅基地502坏网关
- python - Pandas:根据条件将数据框中的值复制到多行
- python - 将 2-Variable 函数求解为仅 1 个变量不适用于数组
- vue.js - 通过单击 v-for 来切换单个 li 元素的类
- javascript - 超过 ComponentDidUpdate 使用和最大更新深度
- c# - 如何从另一个“项目”中引用项目?