What is At-Least-Once Delivery?
Also called at least once.
At-least-once delivery is a messaging guarantee in which every message is delivered to a consumer one or more times, never zero. The system retries until it receives an acknowledgment, which means a message whose acknowledgment is lost will be redelivered. Consumers must therefore tolerate seeing the same message more than once.
The guarantee exists because the alternatives are worse or unattainable. At-most-once delivery, where a message is sent without retry, silently loses work whenever a consumer crashes mid-processing. True exactly-once delivery across independent systems is not achievable in general, since the acknowledgment itself can be lost after the work completes and no protocol can distinguish that from a failure before completion. At-least-once accepts duplicates as the tolerable failure.
Duplicates arise from ordinary events, not exotic ones. A consumer that finishes processing and then crashes before acknowledging will see the message again. A visibility timeout that expires during a slow operation causes redelivery while the original is still running. A rebalance across consumers reassigns in-flight partitions. Any of these can produce concurrent duplicate processing, not merely sequential.
The standard remedy is to make the consumer's effect repeatable without additional change, using a deduplication key derived from the message and recorded transactionally with the work. Where the effect reaches an external system, that system's own deduplication support becomes decisive: many payment and messaging APIs accept a client-supplied key precisely so a retried call is recognized as the same request.
For agent workloads the stakes rise because side effects are the product. A duplicated run that sends the same email twice, files the same ticket twice, or repeats an outbound action is a user-visible defect rather than a wasted cycle. Systems that let agents act should treat duplicate suppression at the action boundary as a required control, not as an optimization.
Key points
- Every message arrives one or more times, never zero
- Duplicates come from lost acknowledgments and timeouts
- True exactly-once across independent systems is unattainable
- Deduplication keys recorded with the work suppress repeats
- Duplicate agent actions are user-visible, not merely wasteful
In practice
A worker consumes task messages and calls an outbound email API. A network partition delays one acknowledgment past the visibility timeout, so the broker redelivers while the first attempt is still in flight. Because the worker passes a deduplication key derived from the task identifier, the email provider recognizes the second call as the same request and returns the original result instead of sending twice.