AZ-305 Question 175
Single answerA retail company is integrating multiple microservices for order, payment, and shipment workflows. They want to ensure guaranteed delivery, preserve message ordering, and support eventual retry in case a downstream service is temporarily unavailable. Which Azure messaging service is most suitable for this scenario?
- A
Azure Queue Storage
- B
Azure Event Hubs
- C
Azure Service Bus
- D
Azure Event Grid
Show answer and explanation
Correct answer: C
Explanation
When designing a messaging architecture for critical business processes that require strict ordering and guaranteed message delivery, Azure Service Bus is a best practice. It supports sessions (for ordered message processing), transactions, and robust retry mechanisms. For more details, refer to Azure Service Bus documentation: https://learn.microsoft.com/azure/service-bus-messaging/service-bus-queues-topics-subscriptions.
- A. Incorrect.
Option 1 (Azure Queue Storage): While Azure Queue Storage can handle basic asynchronous communication, it doesn't provide advanced features like session-based ordering or transactions. If the business requires strict ordering or at-least-once delivery with transaction support, Queue Storage may not be sufficient.
- B. Incorrect.
Option 2 (Azure Event Hubs): Azure Event Hubs is primarily used for high-throughput data ingestion and event streaming (e.g., telemetry data). It does not offer the same level of guaranteed message handling and ordering features as required for processing orders and payments with strict transactional guarantees.
- C. Correct.
Option 3 (Azure Service Bus): This is the correct choice. Azure Service Bus provides functionality for guaranteed delivery, session-based ordering, and built-in retry policies with dead-lettering. These capabilities align closely with the requirements for complex microservices handling orders and payments.
- D. Incorrect.
Option 4 (Azure Event Grid): Azure Event Grid is optimized for reactive event-driven scenarios and simple event routing. It is not designed for strict ordering or guaranteed delivery in the same way as Azure Service Bus, making it less suitable for this workflow.