Distributed Systems · Cluster
Coordination Services
Leases, locks, and membership.
- 01 The Lease as a Time-Bounded Grant: Why Expiry Needs No Message How a lease replaces an explicit release with a deadline, why the holder must stop before the server reassigns, and what the gap between the two clocks costs.
- 02 The Linearizable Register Beneath Every Coordination Primitive Why locks, membership lists, and leader election all reduce to reads and writes of one small object, and what linearizability adds that sequential consistency does not.
- 03 Sessions and Ephemeral Nodes: Tying State to a Live Connection How a coordination service tracks client liveness, why ephemeral nodes vanish with the session, and what a client must do when it cannot tell whether its session survived.
- 04 Compare-and-Swap Retry Loops and the ABA Problem on a Versioned Register Why an optimistic update loop can silently apply a stale decision, how version numbers close the window, and what the loop costs when contention is high.
- 05 One-Shot Watches and the Changes That Fall Between Them How watch registration, firing, and re-registration create a gap, why the client must re-read rather than trust the event, and what a lost notification actually means.
- 06 Fair Lock Queues from Sequential Nodes How a ticket built from a sequential child name turns lock contention into a queue, why each waiter watches only its predecessor, and what a herd costs by comparison.
- 07 Fencing Tokens: Why a Lock Is Advisory Until the Resource Checks It How a monotonic token attached to a grant lets the protected resource reject a stale holder, and why no amount of clock discipline makes the check unnecessary.
- 08 Lease Safety Margins Under Clock Drift The arithmetic that keeps a lease from being granted twice: how offset error, drift rate, and timer resolution set the gap between the client deadline and the server reassignment.
- 09 Why Locks Across Independent Services Do Not Compose Two lock services with no shared order can each grant a lock that the other believes excludes, and no client-side protocol repairs the missing global order.
- 10 Coarse-Grained Locking by Design: What a Chubby Cell Optimizes For Why a lock service built for locks held for hours makes different choices than one built for request-path coordination, and where those choices stop paying.