Introduction to ZooKeeper
Learn why ZooKeeper was built and the needs it fulfills.
In distributed systems, many processes are running on different nodes that need to collaborate/coordinate with each other to do some task. Coordination can be of different types, for example, to check whether a process is alive or not and what it is responsible for, e.g., resource sharing, group membership, leader election,
Note: Locking is one of the most famous and powerful coordination primitives to avoid race conditions in shared resources.
ZooKeeper is also a coordination system, but we want to know the reasons that led to the development of this new coordination system when we already have systems like 2PL, Chubby, etc. Let’s look into the limitations/problems of the already-developed coordination systems to realize the importance of ZooKeeper.
Problems with old coordination systems
-
Old coordination systems were specialized for different coordination needs:
Chubby Burrows, Mike. “The Chubby lock service for loosely-coupled distributed systems.” In Proceedings of the 7th