In an application, after some specific event, I want to notify different services via bus service.
With AWS, I would do an SNS and for each service to be notified, I would create an SQS subscribed to the SNS in order to have a specific queue for each service. It allows you to manage deadletters and to replay messages for each recipient service.
For exemple, if a SNS has 2 subscribers : SQS A and SQS B, which are consumed by 2 services, A et B.
If a message is sent to the SNS, the 2 SQS receive the message. A integrate it correclty, but B don’t. I will be able to manage it only with the B SQS.
How do I achieve the equivalent with Azure?
I know there is Azure Service Bus, which seem to be the equivalent of the SNS and Queue Storage is an equivalent to the SQS, can I achieve what I want with the 2 by create an Azure Service Bus and 2 queue Storage (one for A and one for B) ?
2
Answers
Please take a look at Azure Service Bus Topics and Subscriptions. Here, when a message is sent to a Topic, it is broadcasted to one or more Subscriptions based on the filtering rules.
You can learn more about it here: https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions.
There are two options.
There are additional reasons to go with one over another, but it depends on the scenario. Not to mention that the to can be combined.