Idempotency as Reliability Foundation¶
Operations that produce the same result regardless of how many times they execute enable safe retries, which is essential for reliability over unreliable networks where "at-least-once" delivery is easier than "exactly-once."
Tension Addressed¶
Stability vs. Evolution
Recognizable As¶
PUT semantics (replace entire resource), DELETE semantics (remove if exists), idempotency keys for POST operations, retry-safe operations, "upsert" patterns
Canonical Sources¶
HTTP/1.1 RFC 7231 (method properties); Helland, "Building on Quicksand" (2009); Kleppmann, "Designing Data-Intensive Applications" (2017)
Transfers To¶
Distributed systems (exactly-once semantics), Message queues (deduplication), Database operations (upserts), Functional programming (referential transparency)
Idempotency is not just an HTTP concept - it's a fundamental property for building reliable systems. When networks fail mid-request, the only safe retry strategy is one where repetition causes no harm.
Sub-concepts: - Idempotency keys: Client-generated identifiers that allow non-naturally-idempotent operations (like payments) to be safely retried - Natural vs. artificial idempotency: Some operations are inherently idempotent (set value to X); others require explicit deduplication mechanisms
Related Concepts¶
- Idempotency - Distributed Patterns