Microsoft Certified: Azure Solutions Architect ExpertDesign infrastructure solutionsMedium
A company is designing a highly scalable and fault-tolerant application that processes messages from various sources. The application components need to communicate asynchronously. Which Azure messaging service should be recommended to decouple the components and ensure reliable message delivery?
- AAzure Event Grid
- BAzure Event Hubs
- CAzure Queue Storage
- DAzure Service Bus
Show answer & explanationAnswer & explanation
Correct answer: D. Azure Service Bus
Azure Service Bus is a robust enterprise messaging service designed for reliable asynchronous communication between decoupled application components. It supports queues and topics (publish/subscribe), ensuring message delivery, ordering, and transactional capabilities, which are crucial for a fault-tolerant and highly scalable application.
Why the other options are wrong
- A. Azure Event Grid is an eventing service for reactive programming, not a message broker for reliable application-to-application communication.
- B. Azure Event Hubs is optimized for high-throughput stream ingestion, not for general-purpose enterprise messaging and reliable delivery between application components.
- C. Azure Queue Storage provides basic message queuing but lacks advanced features like message ordering, dead-lettering, and publish/subscribe provided by Service Bus.
Azure Messaging Services
Azure offers various messaging services for different scenarios: Event Grid for event routing, Event Hubs for stream ingestion, Service Bus for enterprise messaging, and Queue Storage for simple queues.
- Service Bus: Enterprise messaging, queues/topics, reliability.
- Event Hubs: High-throughput stream ingestion.
- Event Grid: Event routing, reactive programming.
- Queue Storage: Simple queueing for large volumes.
Memory trick: Service Bus is the 'bus' that reliably delivers your important 'messages'.