Azure 事件中心多个收件人

Jro*_*ron 5 azure azure-eventhub

我有一个服务器,它需要向多个客户端发送消息,让客户端知道需要做一些事情。

我正在尝试通过使用 Azure 事件中心来实现这一点。

我使用以下代码发送消息:

await eventHubClient.SendAsync(
    new EventData(Encoding.UTF8.GetBytes(String.Format("Message {0}, {1}", i, sMessage))), 
    "1")
    .ConfigureAwait(continueOnCapturedContext: false);
await eventHubClient.CloseAsync();
Run Code Online (Sandbox Code Playgroud)

我使用两个 WPF 应用程序作为侦听器,它们将在启动时创建侦听器并将其保存EventProcessorHost在私有变量中。

当我发送消息时,哪个听众将处理该消息是随机的。

是否可以使用 Azure 事件中心向多个收件人发送消息?

Mik*_*kov 9

您需要将每个侦听器放入单独的Consumer Group

同一消费者组的侦听器是“竞争消费者”,即第一个锁定事件中心分区的人获胜。