Favicon of Apache Pulsar

Apache Pulsar

Apache Pulsar is an open-source messaging and streaming platform that splits brokers from storage, keeping segments in Apache BookKeeper so capacity and serving scale independently, with multi-tenancy and geo-replication built in.

LicenseOpen source (permissive)· Apache-2.0
DeploymentSelf-hostedManagedHybrid
PricingFree
Operational complexityHigh
WorkloadStreaming
LanguageJava

Use it when

  • Many teams share one streaming platform: multi-tenancy, quotas, and namespaces are architectural features, not conventions layered on top.
  • You need built-in geo-replication; asynchronous multi-cluster replication with replicated subscriptions ships in the box.
  • Your consumers mix patterns: log-style replay and shared work queues coexist through subscription modes on the same topic.
  • Adding capacity must not mean rebalancing data; stateless brokers over BookKeeper segments make scaling a serving change, not a data move.

Think twice when

  • A small team runs it: brokers plus BookKeeper plus a metadata store is one of the largest footprints in this capability, against Kafka in KRaft mode or Redpanda's single binary.
  • The Kafka ecosystem is the requirement; protocol handlers exist, but tooling and hiring gravitate to Kafka itself.
  • Your volume is modest; the architecture earns its keep at scale it may never see.

How it runs

Self-hosted as brokers, a BookKeeper ensemble, and a metadata store (Oxia recommended for new deployments, ZooKeeper still supported), commonly on Kubernetes. Pulsar IO connectors and Pulsar Functions run on worker nodes; tiered offload moves old segments to object storage. Managed offerings come from StreamNative and others.

Details

Compare

How Apache Pulsar answers the questions Event Streaming turns on.

Event Streaming
How it works
ProtocolPulsar's own; Kafka, AMQP and MQTT via protocol handlers
Consumption modelLog with subscriptions: replay, plus shared queue mode
StorageStateless brokers over BookKeeper segments; tiered offload
Delivery guaranteeExactly-once with transactions · since 2.8
Running it
What you runBrokers, BookKeeper and a metadata store, Oxia or ZooKeeper
ScalingAdd brokers without moving data; segments spread across BookKeeper
Multi-regionBuilt in: asynchronous multi-cluster, with replicated subscriptions
Connections
ConnectorsPulsar IO sources and sinks, run as Functions on worker nodes
TransformationsPulsar Functions, including a transform Function before a sink
Cost
Billing unitNone for the project; managed Pulsar billed by the vendor

Share:

Alternatives to Apache Pulsar

Favicon

 

  
  
Favicon

 

  
  
Favicon