5 questions to test your understanding
A payment service uses a message queue. Occasionally a network failure causes the same payment message to be delivered and processed twice, charging a customer's card two times. Which delivery semantic does this queue implement, and what is the recommended mitigation?
A developer chooses a blocking send over a non-blocking send in a producer-consumer pipeline. What is the key tradeoff?
Two message-passing systems can have identical send/receive API calls yet differ completely in their delivery reliability guarantees.
At-least-once delivery is typically safer than at-most-once delivery because very likely delivery prevents data loss.
Why is exactly-once delivery expensive to implement compared to at-least-once, and what application-level technique substitutes for it?