Note on It's About Time! via marcbrooker@gmail.com (Marc Brooker)
Leases are a nearly ubiquitous, go-to, mutual exclusion mechanism in distributed systems. The core idea is simple: have a client lease the right to exclude other clients for a period of time, and allow them to periodically renew their lease to keep excluding others. Leases, unlike more naive locks, allow the system to recover if a client fails while holding onto exclusivity: the lease isn’t renewed, it times out, and other clients are allowed to play. It’s this fault tolerance property that makes leases so popular.
Did you notice those words a period of time? Leases make a very specific assumption: that the lease provider’s clock moves at about the same speed as the lease holder’s clock.
Reference
- Notes
- system-design, time, liveness
- It's About Time!
-
Permalink to
2023.NTE.658
- Edit
← Previous | Next → |
Note on It's About Time! via marcbrooker@gmail.com (Marc Brooker) | Note on It's About Time! via marcbrooker@gmail.com (Marc Brooker) |