Apache Pulsar
By the Apache Software Foundation
Apache Pulsar is a cloud-native, distributed messaging and streaming platform that unifies queuing and streaming in a single API, with built-in multi-tenancy, geo-replication, and storage that scales independently of compute.
Definition
Apache Pulsar is a cloud-native, distributed messaging and streaming platform that unifies queuing and streaming in a single API, with built-in multi-tenancy, geo-replication, and storage that scales independently of compute.
Overview
Pulsar was originally built at Yahoo to handle the company's large-scale messaging needs and was open-sourced before being donated to the Apache Software Foundation, where it graduated to a top-level project in 2018. Architecturally, Pulsar separates the serving layer from the storage layer: stateless brokers handle client connections and routing, while a dedicated storage layer persists data durably, allowing compute and storage to scale independently — a key difference from Apache Kafka, where brokers own both roles together. Pulsar also natively supports both traditional queue semantics and log-based streaming through one API, along with multi-tenancy for isolating workloads on shared infrastructure, geo-replication across data centers, and tiered storage that offloads older data to cheaper object storage. Pulsar Functions provide lightweight, built-in stream processing without standing up a separate compute cluster. It is commonly run on Kubernetes and packaged with Docker for cloud-native deployments, and is commercially supported by companies including StreamNative. Pulsar is generally positioned as a more operationally flexible, cloud-native alternative to Kafka for organizations that need multi-tenancy or geo-replication as first-class features rather than add-ons.
Key Features
- Unified API for both message queuing and event streaming
- Independent scaling of compute (brokers) and storage
- Native multi-tenancy for isolating workloads
- Built-in geo-replication across data centers
- Tiered storage offloading older data to object storage
- Pulsar Functions for lightweight built-in stream processing
- Schema registry for enforcing message formats
Use Cases
Frequently Asked Questions
From the Blog
Introduction to Apache Spark for Beginners
Apache Spark is a fast, distributed engine for processing huge datasets across many machines. Learn what it is, how it works, and how to run your first job.
Read More AI & TechnologyWhat Is PySpark? Python's Gateway to Big Data
PySpark is the Python API for Apache Spark, letting developers process massive datasets across many machines using familiar Python syntax. This guide covers what PySpark does, its core components, and when to reach for it.
Read More