concept BookKeeper in category apache pulsar

This is an excerpt from Manning's book Apache Pulsar in Action MEAP V05.
A Pulsar Instance employs an instance-wide Zookeeper cluster called the configuration store to retain information that pertains to multiple clusters, such as geo-replication, and tenant-level security policies. This allows you to define and manage these policies in a single location. It is important to note that the Zookeeper ensemble used by the Pulsar Instance is completely independent of the Zookeeper ensembles that exist inside each individual Pulsar cluster. Each of the nodes within the Pulsar Instance’s ZK ensemble should be deployed across multiple regions to ensure its availability in the event of a region failure, etc.
Within each of the geographic regions there will be Pulsar cluster that is comprised of a stateless serving layer based on one or more Pulsar message brokers; and a stateful storage layer based on one or more BookKeeper bookies as shown in Figure 2.11. When hosted inside a Kubernetes environment, this decoupled architecture enables our DevOps team to dynamically scale the number of brokers and bookies to meet the peak demand such as during dinner time and to scale down to save cost during slower periods. Message traffic is spread across all the available Brokers as evenly as possible to provide maximum throughput.
Figure 2.11: A Pulsar cluster is comprised of a two separate layers; a stateless serving layer consisting of multiple Brokers, and a stateful storage layer consisting of multiple Bookies.
![]()