Last Updated: February 3, 2026
When you send a message through a messaging system, what guarantees do you have about its delivery? Will it definitely arrive? Could it arrive more than once?
These questions are at the heart of delivery semantics. Delivery semantics define the contract between a messaging system and its users about how many times a message will be delivered.
Understanding these guarantees is essential because choosing the wrong semantics can lead to lost data, duplicate processing, or systems that are unnecessarily complex.
In this chapter, you will learn:
Messaging systems offer three levels of delivery guarantees. Each makes different trade-offs between reliability, performance, and complexity.
| Semantic | Guarantee | Message Loss | Duplicates |
|---|---|---|---|
| At-most-once | Delivered 0 or 1 times | Possible | Never |
| At-least-once | Delivered 1 or more times | Never | Possible |
| Exactly-once | Delivered exactly 1 time | Never | Never |
Let us explore each in detail.