HLDadvanced
Distributed Locking
Distributed locking is used when exactly one worker should own a critical section or leadership role across multiple nodes. Correct solutions require leases, failure handling, and protection against stale owners.
Reading time
12 min
distributed lockingcoordinationrediszookeeper
Why Distributed Locks Are Hard
When many nodes can run the same code path, sometimes only one should perform a given action: a scheduled job, a leadership decision, or a unique update flow.
Main Risks
- Clock drift
- Network partitions
- Lease expiry during long work
- Split-brain ownership
Safer Patterns
- Short-lived leases
- Lease renewal with strict deadlines
- Fencing tokens
- Consensus stores for correctness-sensitive cases
Interview Tip
Do not present distributed locks as risk-free. Mention stale lock holders and fencing tokens.