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.
A multiple layer approach separating compute from storage to work with cloud infrastructures and Kubernetes.
Write serverless functions with developer-friendly APIs to natively process data immediately upon arrival. No need to run your own stream processing engine.
Expand capacity seamlessly to hundreds of nodes.
Low latency with durability
Low publish latency (< 5ms) at scale with strong durability guarantees.
Configurable replication between data centers across multiple geographic regions.
Built from the ground up as a multi-tenant system. Supports isolation, authentication, authorization, and quotas.
Persistent message storage based on Apache BookKeeper. IO-level isolation between write, and read operations.
Flexible messaging models with high-level APIs for Java, Go, Python, C++, Node.js, WebSocket and C#.
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).
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