Chapter 4. Pulsar Internals
So far, we’ve discussed the motivation for using a system like Apache Pulsar, the historical context in which Pulsar was created, and some companies that use Pulsar to power their systems. Now we have sufficient context to pull the covers from Pulsar and explore the components and, more important, why they work together. We’ll start by looking at each of Pulsar’s components (see Figure 4-1): namely Pulsar brokers, Apache BookKeeper, and Apache ZooKeeper. Then we’ll take a look at a standard technology used across all three of these projects: the Java programming language and the Java virtual machine.
Figure 4-1. Pulsar’s components include nodes, Apache BookKeeper, and Apache ZooKeeper.
Brokers
As noted earlier, Pulsar’s modularity allows the system to separate its responsibilities and select the best technology to handle each one. One of Pulsar’s responsibilities is to provide an interface so that publishers and subscribers can connect to it.
Pulsar brokers handle this as well as the following tasks (see Figure 4-2):
-
Temporary management of topic data storage
-
Communication with Apache BookKeeper and ZooKeeper
-
Schema validation
-
Inter-broker communication
-
Runtime environments for Pulsar Functions and Pulsar IO
Figure 4-2. Pulsar nodes have ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access