System Design · interactive
Distributed locks
A lock across machines needs a timeout, or a crashed holder would keep it forever. But a holder that merely pauses doesn't know its time ran out. Watch two clients both believe they hold the lock.
Lock held by
client 1
Storage holds
empty
- t=0sclient 1Takes the lock for 10 s.
Takes the lock for 10 s.
Protection
Step 1 of 4 · read left to right
In production
Tools and technologies
Lock services give you leases; correctness under pauses needs fencing at the storage.
Not tied to one language — use these names when you search docs or design a system.