What is Zookeeper?

ZooKeeper is a high-performance coordination service for distributed applications.

Zookeeper replicates its data to multiple servers, which makes the data highly reliable and available.

It exposes common services so you don’t have to write them fromĀ  scratch – such as:

  • configuration management
  • synchronization

You can use it to implement:

  • leader election
  • presence protocols

Main Features

Zookeeper has a very simple, file system like API.
You can think of it as distributed Windows registry.
You can :

  • create a path.
  • set the value of a path.
  • read the value of a path.
  • delete a path.
  • list the children of a path.

It does a few more interesting things:

  • one can register a watcher on a path and get notified when the children of a path or the value of a path has changed.
  • a path can be created as ephemeral (as oppose to persistent), which means that if the creating client is gone, the path is automatically removed by the Zookeeper server.

Programming Zookeeper