ASP.NET RABBIT MQ连接和通道寿命



我在 .net 中看到了许多用法 RABBITMQ 的示例(在ASP.NET或Console应用程序中(。他们中的大多数看起来像这样:

using (var connecttion = MyConnectionFactoryWrapper.CreateConnection())
using (var channel = connection.CreateChannel())
{
   ...
}

它有效吗?在文档中,我看到:

AMQP连接通常是长寿的。AMQP是一个应用程序 使用TCP可靠交付的级别协议。

所以我想最好有一个连接用于应用程序。关于频道的另一点:

amqp 0-9-1连接是用可以是的通道多路复用的 被认为是"共享单个TCP的轻量级连接 连接"。

在这里,我想在ASP.NET应用程序的情况下可以使用channel-per-request。我的问题:拥有connection-per-applicationchannel-per-request

是最好的做法

是的, connection-per-application是建议的方法。Channel-per-request也应该做,但是我会为您所需的吞吐量进行测试。对于我们的项目,我们使用了EasyNETQ,它会为您创建连接/频道。我们只是为应用程序保留了一个MessageBus实例。

相关内容

最新更新