Microsoft Certified: Azure Developer Associate (AZ-204)Connect to and consume Azure services and third-party servicesHard
A company has an existing on-premises application that sends messages to MSMQ (Microsoft Message Queuing). They are migrating to Azure and need to replace MSMQ with an Azure messaging service that supports transactional message processing, ensuring that a message is either successfully sent and processed, or neither occurs. Which Azure service should they use?
- AAzure Event Grid
- BAzure Queue Storage
- CAzure Service Bus Queues with Transactions
- DAzure Event Hubs
Show answer & explanationAnswer & explanation
Correct answer: C. Azure Service Bus Queues with Transactions
Azure Service Bus Queues support transactions, allowing multiple operations (e.g., sending messages to a queue, completing messages from a queue, or sending messages to a topic) to be grouped into an atomic unit. This ensures that all operations within the transaction succeed or fail together, providing the required 'exactly once' processing semantics similar to MSMQ transactions.
Why the other options are wrong
- A. Azure Event Grid is an event routing service and does not provide transactional message processing.
- B. Azure Queue Storage offers simple queueing but lacks transactional capabilities.
- D. Azure Event Hubs is for high-throughput streaming and does not support transactional messaging.
Azure Service Bus Transactions
A feature allowing multiple operations on Service Bus entities to be grouped into an atomic unit of work.
- Ensures all operations within the transaction succeed or fail together.
- Supports send, complete, and dead-letter operations within a transaction.
- Provides 'exactly once' processing semantics for critical workflows.
Memory trick: Service Bus transactions bundle actions, all or nothing.