4
votes

I have a server which will need to send messages to several clients to let the clients know that something needs to be done.

I am trying to achieve this by using Azure Event Hub.

I use the following code to send the message:

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

I use two WPF application as listeners which will create the listener at startup and will save the EventProcessorHost in a private variable.

When I send a message it's random which of the listeners will process the message.

Is is possible to send messages to multiple recipients with Azure Event Hub?

1
Why use the EventHub for this instead of Azure Service Bus? Do you expect a very high throughput? Have you read microsoftintegration.guru/2015/03/03/… and stackoverflow.com/questions/28183020/…?Peter Bons

1 Answers

8
votes

You need to put each listener to a separate Consumer Group.

Listeners of the same consumer group are "Competing Consumers", i.e. the first one who takes a lock on an event hub partition wins.