Apache Pulsar is a cloud-native, distributed messaging and streaming platform that decouples the serving layer from the storage layer using Apache BookKeeper. This architectural separation allows for independent scaling of compute and storage, providing seamless cluster expansion without data rebalancing. It natively supports both queuing and streaming semantics within a single unified model.
Glossary
Apache Pulsar

What is Apache Pulsar?
A distributed messaging and streaming platform that uniquely separates compute from storage, enabling independent scaling, multi-tenancy, and native geo-replication.
Designed for multi-tenant environments, Pulsar offers strong isolation and resource management. Its built-in geo-replication engine provides configurable asynchronous data synchronization across data centers for disaster recovery. Pulsar's tiered storage architecture offloads historical data to cost-effective storage like Amazon S3, effectively providing infinite stream retention.
Core Architectural Features
Apache Pulsar's architecture is defined by a strict separation of compute and storage, enabling independent scaling, multi-tenancy, and unified messaging semantics.
Multi-Tenancy
Pulsar natively supports a hierarchical multi-tenancy model with Properties, Namespaces, and Topics. This provides strong isolation and resource management for different teams or applications within a single cluster. Key features include:
- Authentication and Authorization: Pluggable security at the namespace level.
- Storage Quotas: Limit storage per namespace to prevent noisy neighbors.
- Resource Isolation: Allocate specific bookie groups to critical tenants.
Unified Messaging Model
Pulsar uniquely supports both queuing and streaming semantics on a single topic through its subscription model.
- Exclusive/Failover: Strict queuing, where only one consumer in a subscription receives messages.
- Shared: Competing consumers, like a traditional message queue.
- Key_Shared: Messages with the same key are delivered to the same consumer, ensuring ordering.
- Exclusive: Each consumer in the subscription reads all messages, enabling fan-out streaming.
Apache Pulsar vs. Apache Kafka
A technical comparison of the two leading distributed messaging and streaming platforms for event-driven architectures.
| Feature | Apache Pulsar | Apache Kafka |
|---|---|---|
Architecture | Multi-layer: compute (brokers) separated from storage (BookKeeper) | Monolithic: brokers handle both compute and storage |
Multi-Tenancy | ||
Native Geo-Replication | ||
Message Consumption Model | Queuing (shared) and Streaming (exclusive/failover) | Streaming (consumer groups) only |
Topic Partitioning | Unlimited partitions per topic; partitions are lightweight | Limited partitions per topic; repartitioning requires data reshuffling |
Storage Scaling | Independent: add BookKeeper nodes without rebalancing data | Coupled: adding brokers requires partition reassignment and data rebalancing |
Message Acknowledgment | Individual (per-message) or cumulative | Cumulative (offset-based) only |
Protocol Support | Native Pulsar protocol; Kafka-on-Pulsar (KoP) for Kafka wire protocol | Kafka wire protocol only |
Frequently Asked Questions
Clear, technically precise answers to the most common questions about Apache Pulsar's architecture, core concepts, and operational characteristics.
Apache Pulsar is a cloud-native, distributed messaging and streaming platform that uniquely separates compute from storage. It works by using a two-layer architecture: a stateless broker layer that handles message serving and a stateful bookie layer (powered by Apache BookKeeper) that provides durable, replicated storage. Producers publish messages to topics, which are partitioned for scalability. Brokers route these messages to consumers while asynchronously writing data to bookies. This separation allows Pulsar to scale compute and storage independently, support multi-tenancy natively, and offer both queuing and streaming semantics within a single platform.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Core concepts and architectural components that define Apache Pulsar's unique approach to distributed messaging and streaming.
Compute-Storage Separation
Pulsar's foundational architectural principle that decouples message serving from message storage. Brokers handle serving and are stateless, while BookKeeper bookies provide durable, tiered storage. This enables independent scaling: add brokers for throughput, add bookies for capacity. Unlike Kafka's co-located model, this eliminates costly data rebalancing during cluster expansion and allows instant recovery from broker failure since no data partition needs to be copied.
Geo-Replication
A native, built-in mechanism for asynchronous cross-datacenter replication of topics. Pulsar replicates messages across clusters in different geographic regions, supporting active-active, active-standby, and full-mesh topologies. Unlike bolt-on replication tools, Pulsar's geo-replication is configured at the tenant or namespace level and handles conflict resolution automatically. This is critical for global e-commerce platforms requiring low-latency local reads while maintaining a unified, disaster-resilient event fabric.
Multi-Tenancy
A hierarchical resource model that isolates data, authentication, and quotas within a single Pulsar instance. The structure is:
- Tenant: Top-level administrative unit (e.g., a business unit)
- Namespace: A grouping of topics with shared policies (e.g.,
ecommerce/checkout) - Topic: The actual message channel Each level enforces its own authentication, authorization, and storage quotas, making Pulsar ideal for large organizations where multiple teams share infrastructure without risk of cross-contamination.
Unified Messaging Model
Pulsar natively supports both queuing and streaming semantics within a single topic through its subscription model:
- Exclusive: Only one consumer receives messages (traditional queue)
- Shared: Multiple consumers compete for messages in a round-robin fashion (worker queue)
- Failover: One active consumer, with others on standby
- Key_Shared: Messages with the same key are delivered to the same consumer, preserving ordering while enabling parallelism This eliminates the need for separate RabbitMQ and Kafka deployments, unifying the messaging backbone.
Apache BookKeeper
The distributed write-ahead log storage system that underpins Pulsar's durability. BookKeeper organizes data into ledgers—append-only, immutable sequences of entries striped across multiple bookie nodes. Key properties include:
- I/O isolation: Write and read paths are separated
- Ensemble placement: Data is written to a configurable number of bookies (E), with a quorum (Q) required for acknowledgment
- Auto-recovery: Failed bookies are automatically detected and ledger data is re-replicated This architecture provides the foundation for Pulsar's tiered storage and infinite log retention.
Pulsar Functions
A lightweight, serverless compute framework embedded directly within Pulsar for native stream processing. Functions consume messages from one or more input topics, apply user-defined logic (in Java, Python, or Go), and publish results to output topics. Unlike external stream processors like Flink, Pulsar Functions:
- Run co-located with brokers for minimal latency
- Are deployed and scaled via the Pulsar admin API
- Support stateful processing with a built-in state store
- Handle message routing, filtering, and enrichment without external infrastructure

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us