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.
Apache Pulsar provides native support for serverless functions where data is processed as soon as it arrives in a streaming fashion and gives flexible deployment options (thread, process, container). We need only focus on computation logic rather than dealing with complicated configuration or management, which helps us build a streaming platform faster and conveniently.
Rocky Jin | EMQ