Nine distributed systems patterns, written the way they actually get decided: what you buy, and where the complexity goes. Because none of these remove complexity. They relocate it.

Replication. Multiple copies, one writer. You buy availability and read throughput. You now own replication lag, and the ticket from a user who saved something and didn’t see it on refresh.

Sharding. Split the data across databases. You buy headroom. You now own a shard key that you chose at the exact moment you knew least about your traffic.

Consistent hashing. Adding a node moves a fraction of the keys instead of all of them. You buy elasticity. You own a ring, and a much harder answer to “where does this key live”.

Pub/Sub. Publish UserCreated, let whoever cares subscribe. You buy decoupling. You own the fact that nobody can answer “what happens when a user signs up” by reading one file anymore.

Retry with backoff. 1s, 2s, 4s, 8s. You buy tolerance for blips. You own idempotency forever, plus the retry storm that arrives when every client backs off on the same schedule. Add jitter.

Circuit breaker. Stop hammering a service that is clearly down. You buy protection for both sides. You own the thresholds, and the breaker that opens for the first time during your traffic peak.

Leader election. Several nodes can do the job, one should. You buy coordination. You own split brain, and the question of what the old leader was still doing when it lost the lease.

Quorum reads and writes. N=3, W=2, R=2, so the sets overlap. You buy tunable consistency. You own latency, because you now wait for the slowest replica in the quorum.

Saga. Local transactions plus compensations: reserve inventory, charge payment, create order, release inventory if the charge fails. You buy multi-service business processes. You own writing the failure path by hand for every single step, which is the part teams discover in production.

The names are trivia. The question worth asking in a design review is where each pattern moves the complexity, and whether that’s somewhere your team can actually reach at 3am.