A company is designing a solution that requires guaranteed message delivery and exactly-once processing for financial transactions. Which Azure messaging service should they use?
Service Bus with sessions and duplicate detection provides exactly-once processing and guaranteed delivery for transactions.
Why this answer
Azure Service Bus is the correct choice because it supports guaranteed message delivery through its 'Peek-Lock' and 'Scheduled Delivery' features, and it provides exactly-once processing via duplicate detection (based on the MessageId property) and transaction support (atomic operations across multiple entities). This makes it ideal for financial transactions where message loss or duplication is unacceptable.
Exam trap
The trap here is that candidates often confuse 'at-least-once' delivery (common in Queue Storage and Event Hubs) with 'exactly-once' processing, or they assume Event Grid's low-latency routing implies reliability guarantees, when in fact only Service Bus provides the necessary transactional and duplicate detection features for financial transactions.
How to eliminate wrong answers
Option A is wrong because Azure Queue Storage offers at-least-once delivery (messages can be processed multiple times) and does not support exactly-once processing or transactions. Option B is wrong because Azure Event Hubs is designed for high-throughput event ingestion with at-least-once delivery and does not provide exactly-once processing guarantees or transactional support. Option D is wrong because Azure Event Grid is a reactive event routing service that delivers events at least once (with no exactly-once guarantee) and lacks built-in duplicate detection or transaction capabilities.