Zookeeper Atomic Broadcast
Learn about the consensus protocol Zookeeper Atomic Broadcast.
We'll cover the following...
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 ...