Cloud-Native, Distributed Messaging and Streaming
Apache Pulsar is a distributed, open source pub-sub messaging and streaming platform for real-time workloads, managing hundreds of billions of events per day.
What is Apache Pulsar?
Apache Pulsar is a cloud-native, multi-tenant, high-performance solution for server-to-server messaging and queuing built on the publisher-subscribe (pub-sub) pattern. Pulsar combines the best features of a traditional messaging system like RabbitMQ with those of a pub-sub system like Apache Kafka – scaling up or down dynamically without downtime. It's used by thousands of companies for high-performance data pipelines, microservices, instant messaging, data integrations, and more.
Pulsar Features
Cloud-native
A multiple layer approach separating compute from storage to work with cloud infrastructures and Kubernetes.
Serverless functions
Write serverless functions with developer-friendly APIs to natively process data immediately upon arrival. No need to run your own stream processing engine.
Horizontally scalable
Expand capacity seamlessly to hundreds of nodes.
Low latency with durability
Low publish latency (< 5ms) at scale with strong durability guarantees.
Geo-replication
Configurable replication between data centers across multiple geographic regions.
Multi-tenancy
Built from the ground up as a multi-tenant system. Supports isolation, authentication, authorization, and quotas.
Persistent storage
Persistent message storage based on Apache BookKeeper. IO-level isolation between write, and read operations.
Client libraries
Flexible messaging models with high-level APIs for Java, Go, Python, C++, Node.js, WebSocket and C#.
Operability
REST Admin API for provisioning, administration, tools and monitoring. Can be deployed on bare metal, Kubernetes, Amazon Web Services(AWS), and DataCenter Operating System(DC/OS).
Pulsar Users
Run in production at scale with millions of messages per second across millions of topics, Pulsar is now used by thousands of companies for real-time workloads.
Among the features we considered were tiered storage, as we planned to have unlimited retention (for event sourcing that matters a lot), flexible subscription model (we use exclusive at the moment, however we want to try per-key subscription), authorization via different methods including certificates and JWT (JSON Web Token), and an easy way to get it up and running.
Kirill Merkushev | Vivy