Skip to content

Delivery Guarantee Levels

Distributed systems can only provide one of three delivery guarantees: at-most-once (may lose), at-least-once (may duplicate), or exactly-once (requires additional coordination cost); the choice depends on application tolerance for loss vs. duplication.

Tension Addressed

Reliability vs. Latency

Recognizable As

Fire-and-forget vs. guaranteed delivery, deduplication logic, sequence numbers, idempotency keys, transaction semantics

Canonical Sources

Birman, "Reliable Distributed Systems" (2005); Kleppmann, "Designing Data-Intensive Applications" (2017)

Transfers To

Message queues, event-driven architectures, payment systems, distributed databases, pub/sub systems

Exactly-once delivery is often described as impossible; more precisely, it requires end-to-end idempotency or distributed coordination, making it achievable but expensive.