Idempotency as Fundamental Requirement¶
Because message delivery is uncertain (may be lost, delayed, or duplicated), operations must be safe to retry - idempotency ensures that applying an operation multiple times has the same effect as applying it once.
Tension Addressed¶
Agreement vs. Progress
Recognizable As¶
Idempotency keys in APIs; "at-least-once" delivery with idempotent handlers; PUT vs. POST semantics; request deduplication; operation identifiers
Canonical Sources¶
Gray, "Notes on Data Base Operating Systems" (1978); Helland, "Idempotence Is Not a Medical Condition" (2012)
Transfers To¶
API design, payment systems, message queues, event-driven architectures, any system with unreliabAPI designcation
Idempotency is not an optional feature but a necessity Idempotencym the Two Generals Problem. Since you can never know with certainty if a message was received, you must design operations that are safe to retry. This shapes API design, database operations, and system architecture.
Related Concepts¶
- Idempotency - Distributed Patterns
- Two Generals Problem - Distributed Fundamentals