Leases in Distributed Systems
Learn about the issues with locks and leases in distributed systems.
Recalling concurrency
In the introductory chapters of the course we learned that concurrency is one of the factors that contribute significantly to the complexity of distributed systems.
A mechanism is needed to ensure that all the various components of a distributed system running concurrently do so in a safe way and does not bring the overall system to an inconsistent state.
Leader election problem
We have already discussed the leader election problem, where the system needs to ensure only one node in the system can perform the leader duties at any point in time.
Solution
Amongst the available techniques, locking is the simplest solution and one that is used commonly. However, locking techniques are subject to different failure modes when applied in a distributed system.
This chapter will cover common pitfalls in locks and ...