ZooKeeper: Because Coordinating Distributed Systems is a Zoo
ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configuration management, synchronization, and group services - in a simple interface so you don't have to write them from scratch. You can use it off-the-shelf to implement consensus, group management, leader election, and presence protocols. And you can build on it for your own, specific needs.
The following documents describe concepts and procedures to get you started using ZooKeeper. If you have more questions, please ask the mailing list or browse the archives.
Technical Overview Documents for Client Developers, Adminstrators, and Contributors
Documents for Developers using the ZooKeeper Client API
- API Docs - the technical reference to ZooKeeper Client APIs
- Programmer's Guide - a client application developer's guide to ZooKeeper
- ZooKeeper Java Example - a simple Zookeeper client appplication, written in Java
- Barrier and Queue Tutorial - sample implementations of barriers and queues
- ZooKeeper Recipes - higher level solutions to common problems in distributed applications
Administrators & Operators
Documents for Administrators and Operations Engineers of ZooKeeper Deployments
- Administrator's Guide - a guide for system administrators and anyone else who might deploy ZooKeeper
- Quota Guide - a guide for system administrators on Quotas in ZooKeeper.
- JMX - how to enable JMX in ZooKeeper
- Hierarchical quorums
- Observers - non-voting ensemble members that easily improve ZooKeeper's scalability
Documents for Developers Contributing to the ZooKeeper Open Source Project
- ZooKeeper Internals - assorted topics on the inner workings of ZooKeeper
- Miscellaneous ZooKeeper Documentation
BookKeeper is a highly-available system that implements high-performance write-ahead logging. It uses ZooKeeper for metadata, which is the main reason for being a ZooKeeper contrib.