gpt4 book ai didi

azure - Azure ServiceBusConnection 应该是单例吗?

转载 作者:行者123 更新时间:2023-12-02 06:30:51 26 4
gpt4 key购买 nike

NuGet 中,保留 MessagingFactory 实例是一种很好的做法。

我们是否应该保留一个 ServiceBusConnection 实例(来自 new Nuget)以注入(inject)多个客户端?

编辑2018-07-25 00:22:00 UTC+8:

  • 澄清了一点,ServiceBusConnection 来自新的 NuGet。

最佳答案

Azure 服务总线 .NET Standard 客户端连接不像其前身那样通过 QueueClient 或任何工厂进行管理。 QueueClientMessageSenderMessageReceiver 之上的抽象,可以采用由多个发送者/接收者共享的 ServiceBusConnection。您可以自由选择是否共享相同的连接对象。

var connection = new ServiceBusConnection(connectionString);
var queueClient1 = new QueueClient(connection, "queue1", ReceiveMode.PeekLock, RetryPolicy.Default);
var queueClient2 = new QueueClient(connection, "queue2", ReceiveMode.PeekLock, RetryPolicy.Default);
// Queue clients share the same connection
var message1 = new Message(Encoding.UTF8.GetBytes("Message1"));
var message2 = new Message(Encoding.UTF8.GetBytes("Message2"));

根据您正在使用的命名空间层,您必须进行基准测试并查看哪种方法更适合您。我的发现表明,具有多个连接的标准层有助于提高吞吐量,而高级层则不会。 This post暗示了为什么会这样。

关于azure - Azure ServiceBusConnection 应该是单例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51500645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com