Availability Patterns
Availability is arithmetic before it is architecture. The arithmetic is worth doing first, because
Partial failure, latency, retries, circuit breakers and designing for failure.
View all tagsAvailability is arithmetic before it is architecture. The arithmetic is worth doing first, because
An estimate is not a prediction. It is a filter: a way to find out, in two minutes and before
CAP is the most cited and most misquoted result in distributed systems. The popular version —
Rule: a dying dependency needs to be isolated, not attacked with more requests. Breakers stop
Rule: agreement requires a majority, not a coordinator. Any scheme where a single node decides —
A consistency model is a contract about what a read is allowed to return. It is not a quality
Rule: failure is the default state, not the exception. Large systems are not designed for the
Rule: ACID stops at the database boundary, and "localhost is a great lie." Across services you
The point of knowing these is not recall for its own sake. It is being able to reject a design in
This consolidates two earlier drafts — MPC-Rust.mdx and mpc-cluster-ssd.md — which
* Network messages can be delayed, reordered, or lost.
Rule: "eventually consistent" is not a promise you can hand a user. Each read path has to
Design record for recurring billing — creating a subscription, taking the first payment,
Open-ended by construction: "design Twitter" has no correct answer, and the interviewer is not
Rule: a healthy service plus a healthy service does not equal a healthy system. The network
Rule: retry without idempotency is not error handling — it is a bug. And a retry that fires
VSR is a state machine replication protocol designed to keep a group of replicas consistent even when some fail. It
1. Document Control