Question

I've been doing some research and have read documentation of ZooKeeper. It is said that each node of ZooKeeper keeps a replicated copy of its tree and Zookeeper is strongly consistent in this regard. Does it mean that ZooKeeper violates a shared nothing principle which stands in the way of scalability?

P.s. Shared Nothing architecture - one in which each node is independent and self-sufficient, and there is no single point of contention across the system.

Was it helpful?

Solution

ZooKeeper nodes of an ensemble are not independent and self-sufficient, in the sense that a master exists and a majority of nodes must persist such information to consider it valid. The role of master migrates if the corresponding node fails, however.

Writes to a ZooKeeper ensemble are persisted in-order, hence write-wise it is not scalable as you would expect. For reads, each node is eventually consistent. Consequently it may not need the master until a write is requested. In the ideal case of no writes, it would scale perfectly.

Hope that clears the issue.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top