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.