Designing a Retry-Safe API
The video opens with a client creating an export job. The server completes the work, but the response is lost; the client sees only a timeout. A sequence diagram then adds a scoped idempotency key, stored request identity, an atomic local transaction, and a replayed response for the retry.
The second half introduces the hard case where the side effect belongs to another service, and explains why an outbox or downstream idempotency contract may be required. It closes with timeout budgets, capped retries, backoff, and duplicate-request tests. Companion material: retry contract article, idempotency trace, and the AWS Builders' Library.
Related articles
Retries Need an Operation Contract
Design timeouts, retries, idempotency keys, and server-side state so a lost response does not silently duplicate an operation.
Retries Need an Operation Contract
A retry repeats work after the caller cannot determine whether an earlier attempt completed.
C++ Concurrency: Threads and Atomics
How std::thread, std::mutex, and std::atomic work, and the race conditions and memory ordering issues they prevent.
New lessons by email
Get new articles and notes on the systems behind everyday software.
One technical dispatch per week. No noise.
Not started
Sign in to save your learning progress.