Apache Pulsar 是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台
- Message consumption(消息消费):如何发送和消费消息
- Message Acknowledgement(消息确认):如何确认消息
- Message Retention(消息保留):消息要保留多久、出发消息删除的原因以及删除方式
典型的基于排队的消息传递系统包括RabbitMQ和RocketMQ
1、历史背景
Pulsar源自Yahoo,于2016年开源并捐献给Apache基金会,并在2018年9月升级成为Apache顶级项目。
Kafka最初由Linkedin开发,并于2010年贡献给了Apache基金会,之后成为Apache顶级项目
Pulsar | Kafka |
---|---|
Topic | Topic |
Partition | Partition |
Ledger(Segment)/Fragment | Fragment/Segment |
Bookie | Broker |
Broker | Client SDK |
Ensemble Size | metadata.broker.list |
Write Quorum Size (Qw) | Replica Number |
Ack Quorum Size (Qa) | request.required.acks |
2、Pulsar特性
- 对Pulsar实例中的多个群集的本机支持,跨群集的消息的无缝地理复制。
- 极低的发布和端到端延迟。
- 无缝扩展到超过一百万个主题。
- 一个简单的客户端API,包含Java,Go,Python和C ++的绑定。
- 主题的多种订阅模式(独占,共享和故障转移)。
- Apache BookKeeper提供的持久消息存储保证消息传递。
- 无服务器轻量级计算框架Pulsar Functions提供流本地数据处理功能。
- 基于Pulsar函数构建的无服务器连接器框架Pulsar IO可以更轻松地将数据移入和移出Apache Pulsar。
3、参考
Apache Pulsar官网:http://pulsar.apache.org/
https://alexstocks.github.io/html/pulsar.html
https://juejin.im/post/5cb3e7b16fb9a068b2297484