Zookeeper Atomic Broadcast
Learn about the consensus protocol Zookeeper Atomic Broadcast.
Zookeeper
Before we dive into the Zookeeper Atomic Broadcast Protocol (ZAB), let’s take a look at some of the core constructs of Zookeeper.
Zookeeper is a distributed system used to implement coordination services for applications. Some of the examples of coordination services include leader election and config management. It provides a file system-based hierarchical key-value store storing data in a tree-like structure.
znodes
znodes provide the primary abstraction in Zookeeper to represent a node in the key-value store. A znode stores data in a byte array and can have child nodes. Each znode also includes an additional data structure called a stat, which consists of the following metadata:
A transaction identifier (zxid) that created or modified the znode.
A transaction identifier (zxid) that created or modified its children.
Timestamp and version of the data change and child node change.
The owner of the znode.
There are three types of znodes:
Persistent znodes: These znodes remain permanent even after the client that created them dies.
Ephemeral znodes: These znodes remain transient and remain valid only during the active session of the client. When the client dies, Zookeeper automatically deletes ephemeral znodes.
Sequential znodes: Zookeeper automatically appends a sequential integer to ...