首页 > 解决方案 > 用于极高吞吐量的连接/通道

问题描述

我有一个应用程序,它从几十个其他应用程序聚合数据并通过 rabbit 传输到中央服务器,因此吞吐量要求将是极端的。

如果我正确理解 amqp api,则连接是物理 TCP/IP 套接字,而通道是轻量级“虚拟”连接。我发现的典型建议是我应该打开一个连接,每个生产者一个通道。我已经看到它表明在极少数情况下,高吞吐量可能需要打开带有额外通道的额外连接。

是否有一个通用指标来确定每个连接的最佳通道数以最大限度地提高吞吐量?

标签: rabbitmqamqp

解决方案


您必须通过使用典型工作负载和单个/多个连接和通道运行基准来回答您自己的问题。

RabbitMQ 团队提供了您也可以使用的PerfTest工具,以及有关该主题的文章

实现最高性能意味着正确编写应用程序以使用多个连接和每个连接的通道。Spring AMQP 之类的库可能会让您更轻松(如果您使用的是 JVM 语言)。


注意: RabbitMQ 团队会监控rabbitmq-users 邮件列表,有时只会在 StackOverflow 上回答问题。


推荐阅读