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的部署和架构更加复杂,但是也更具有伸缩性