【问题标题】:ASP.NET + Rabbit MQ connection and channel lifetimeASP.NET + Rabbit MQ 连接和通道生命周期
【发布时间】:2018-02-26 11:27:42
【问题描述】:

我在 .NET(在 ASP.NET 或控制台应用程序中)中看到了很多使用 RabbitMq 的示例。他们中的大多数看起来像这样:

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

效率高吗?在documentation 我看到了:

AMQP 连接通常是长期存在的。 AMQP 是一个应用程序 使用 TCP 进行可靠传输的级别协议。

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

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

我想我可以在 ASP.NET 应用程序的情况下使用channel-per-request。我的问题:拥有connection-per-applicationchannel-per-request 是最佳做法吗?

【问题讨论】:

    标签: c# rabbitmq lifetime


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多