Pulsar是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台,大有取代Kafka的势头。今天我们就来比较一下Pulsar跟Kafka。
历史背景
Pulsar源自Yahoo,于2016年开源并捐献给Apache基金会,并在2018年9月升级成为Apache顶级项目。
Kafka最初由Linkedin开发,并于2010年贡献给了Apache基金会,之后成为Apache顶级项目。
架构
Kafka
Kafka架构由broker和zookeeper组成,如下图:

[1]
注意:Kafka2.8版本可以不依赖Zookeeper独立运行了
Pulsar
Pulsar的架构如下:

Pulsar Broker会在本地缓存消息,并且支持TTL,
从上面的2个架构我们看到,Kafka和Pulsar有3点不同:
- Pulsar采用分层架构,将计算和存储相分离,存储使用BookKeeper集群,计算使用Broker集群,Broker需要内置BookKeeper客户端。
- Pulsar的部署和架构更加复杂,但是也更具有伸缩性。
- Pulsar在最新版本中依然不能脱离Zookeeper独立运行。
消息存储模型
Kafka
Kafka采用分区(Partition)的方式来保存topic,模型图如下:

本文对比了Pulsar和Kafka在历史背景、架构、消息存储和消费模型、多租户、运维等方面的差异。Pulsar采用分层架构,存储和计算分离,支持更复杂的消费模式,如独占、灾备、共享和Key_Shared。Kafka则以其成熟的社区和简化部署而受到青睐。尽管Pulsar在云原生和多租户方面表现出色,但Kafka的广泛使用和社区资源使其仍占有重要地位。
最低0.47元/天 解锁文章
188

被折叠的 条评论
为什么被折叠?



