#reliability

  • Designing For Distributed Failure
    How to design a multi-service system around failure: timeouts that mean unknown, partial failure, clock skew, replication lag, sagas and compensation, duplicate or out-of-order messages, retry budgets, tracing, and the trade-offs behind each choice.
  • Compensating Transaction Pattern
    Explains how to undo the steps of an eventually consistent, multi-step operation by running compensating actions instead of a traditional ACID rollback, with a travel-booking example.
  • Hedged Request
    Explains how hedged requests reduce long-tail latency in distributed systems by sending a duplicate request to another replica after a p95 delay, with the trade-offs around idempotency and choosing the delay.