A logistics platform has order-service microservices that publish status updates. Updates for the same order must be processed strictly in the sequence they were sent, and no update may be lost if a consumer crashes mid-processing. Which Azure messaging capability should you choose?
Show answer and explanation
Answer: A
Service Bus sessions guarantee first-in-first-out handling for messages that share a session ID, and a message is held until a consumer completes it, so a crash does not lose it. Using the order ID as the session ID keeps each order's updates in sequence. Event Grid does not guarantee ordering. Event Hubs orders events within a partition but is a streaming log, and Storage queues offer no strict FIFO.
Why the other options are wrong
- B. Event Grid pushes discrete events to subscribers with no ordering guarantee across deliveries, so out-of-sequence updates for one order could arrive and be processed in the wrong order.
- C. Event Hubs preserves order within a partition, but it is a retention-based streaming log without per-message completion and redelivery semantics, so it is not a guaranteed-delivery work queue.
- D. Visibility timeouts let a Storage queue message reappear for retry, but they provide no strict first-in-first-out ordering, so a retried update could be processed after a later one.