← All writing

Understanding Idempotency in Distributed Systems

Designing operations that are safe to retry.

Networks fail in ways that leave the caller uncertain: a request may time out after the server has already completed the work. An idempotency key gives the server a way to recognize a repeat request and return the original result instead of doing the work twice.

The key must be stored with enough context to distinguish a genuine retry from an unrelated request. The goal is not exactly-once delivery; it is making safe retries possible.