Apache Pulsar is an open-source distributed messaging and event-streaming platform designed for high-rate message processing. It follows a publish-subscribe model with producers, consumers, topics, and partitions, making it a close functional alternative to Apache Kafka. section 5.3.2
Pulsar’s defining architectural contrast with Kafka is its separation of message processing from storage. Stateless brokers receive and dispatch messages while Apache BookKeeper provides scalable, fault-tolerant persistence. Brokers can therefore scale independently from storage, simplifying load balancing, failover, recovery, and resource management. section 5.3.2
The architecture assigns distinct responsibilities:
- Brokers receive messages from producers and communicate with Apache BookKeeper for persistence. section 5.3.2
- Brokers dispatch messages to consumers and perform administrative cluster-maintenance tasks. section 5.3.2
- Topics are partitioned to support parallel data processing. section 5.3.2
Choosing Pulsar for an event-streaming platform
An architecture team comparing Kafka, RabbitMQ, and Pulsar can evaluate scalability, real-time processing, transactional guarantees, multitenancy, and geo-replication. Pulsar is especially relevant when independently scalable stateless brokers and separate storage offer advantages; Kafka may remain preferable where its high-throughput, low-latency event processing fits the requirements. section 5.5 section 5.0
Figure 5.13 Apache Pulsar architecture
Use the architecture figure to compare Pulsar’s stateless broker layer with its separate BookKeeper storage layer. section 5.3.2
