如何创建多个使用多个底层TCP连接的EventHubClient,以允许从.net核心Web应用程序快速写入EventHub?
在EventHubs(https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-programming-guide)的编程指南中写道:
请务必注意,从消息传递工厂实例创建的其他EventHubClient对象会重用相同的底层TCP连接。因此,这些对象对吞吐量有客户端限制。 Create方法重用单个消息传递工厂。如果您需要来自单个发件人的非常高的吞吐量,那么您可以从每个邮件工厂创建多个邮件工厂和一个EventHubClient对象。
然后他们有一个代码示例:
var factory = MessagingFactory.CreateFromConnectionString("your_connection_string");
var client = factory.CreateEventHubClient("MyEventHub");
但是,我不知道.Net核心中是否存在MessagingFactory?从.Net核心可以做到这一点吗?我查看了Microsoft.Azure.ServiceBus但找不到任何内容。
答案 0 :(得分:1)
经过测试后,似乎用EventHubClient.CreateFromConnectionString
创建多个客户端会像预期的那样打开与EventHubs的多个连接。 (可以将连接视为Windows资源监视器中的单独TCP连接)。
(当我仔细阅读文档时,我认为它仅适用于从MessaginFactory创建的EventHubClients,这在我第一次阅读时并不清楚。但我将此作为答案添加并让问题留在以防其他人读取像我最初做的那样的文件)