Apache ZooKeeper

Apache ZooKeeper

zookeeper.apache.org

1

About this website

Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services in distributed applications. Originally developed at Yahoo! by Patrick Hunt, Flavio Junqueira, and others, and later donated to the Apache Software Foundation, ZooKeeper has been the backbone of distributed systems coordination since 2008, with over 12,300 stars as of 2026. ZooKeeper maintains a hierarchical namespace similar to a filesystem (znodes arranged as a tree with paths like /app1/config, /app1/leader, /app2/workers/worker-1), where each znode can store data (up to 1MB by default) and have child znodes. Key features include: hierarchical znodes with two types: persistent (survive client disconnect) and ephemeral (automatically deleted when the client session ends, useful for leader election and distributed locks), sequential znodes (automatically appended with a monotonically increasing counter, useful for queue implementations), watches (clients can set one-time triggers on znode changes: data changes, child changes, or existence changes, receiving async notifications), atomic operations (create, delete, setData, getData, getChildren, all with optional version checks for optimistic concurrency), ACL-based access control (digest, world, auth, IP-based authentication, SASL/Kerberos), guaranteed consistency (linearizable writes, FIFO client order), and high availability through ensemble replication (typically 3, 5, or 7 servers using a ZAB consensus protocol similar to Raft, tolerating f failures with 2f+1 servers). ZooKeeper is used by Apache Kafka (for metadata before KRaft), Hadoop HDFS (for NameNode failover), Apache HBase (for region server assignment), Apache Solr (for cluster management), and numerous microservice frameworks. Written in Java, licensed under Apache 2.0.

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!