Kafka vs Pulsar

2020-09-17 20:01:19 浏览数 (1)

面对kafka和pulsar你该如何做技术选型

比较项

Kafka

Pulsar

备注

定位

分布式日志流系统

数据消费模型

Pull

Push?

Pulsar实际是Push但客户端API用起来像Pull?

存储架构

Log

Index

基于index的存储会使用树型数据结构,随机读取快,写入是否会存在延迟与放大?

架构

单片架构

多级架构

涉及组件

Broker ZK

Broker ZK BookKeeper RocksDB

运营部署

架构更简单,但数据迁移更复杂后续kafka会移除zk

部署组件更多,但简化扩容时的运维操作

云原生支持

支持

支持

MQ是否适合K8S?

文档与学习资料

资料更多

国人主导,中文资料更方便

生态

比较完善

目前还不是很完善

Pulsar给广大开发者提供了机会

社区用户规模

较少

商业化支持

多,但国内不多商业化高级特性未开放

少,但与StreamNative团队沟通是方便的

托管云服务

多,腾讯云Ckafka

少,但腾讯云在灰度TDMQ

内置管理工具

少,依赖生态

多,原生提供管理工具

数据集成

丰富,得益于其生态

较少,主要依赖StreamNative团队

Pulsar和Tube还是有空间,但是想达到Kafka规模还是需要一段时间

客户端lib

官方只支持Java,有各自各样的轮子(稳定性待确定)

官方支持版本较多,但是客户端功能与稳定性可能不如Kafka

吞吐量

都宣称吞吐高于竞品,从实际使用看都差不多

延迟

集群拓展性

支持

优势

分级存储

规划中

貌似有

内置流处理

kafka-stream更成熟ksqlDB

pulsar-function更轻量

目前看意义都不是很大?流处理趋势Flink一统天下

消息回放、时间旅行

支持

支持

Exactly-once处理

支持

支持,事务等功能追赶Kafka中

Topic (log) 整合

支持

支持

安全

支持,但不完善

支持,但不完善

事件流

生态强

设计更好

队列功能

分区有序

提供队列API

消息路由

核心应用

广泛

较少,主要是雅虎

成本

优势

高吞吐海量存储

队列 事件流

参考资料:

《Kafka vs. Pulsar vs. RabbitMQ: Performance, Architecture, and Features Compared》https://www.confluent.io/kafka-vs-pulsar/

《Pulsar 与 Kafka 全方位对比(上篇):功能、性能、用例》 https://mp.weixin.qq.com/s/2zVuDB_xVQzYJg-SqoPouQ

confluent 和 streamnative 从各自角度(利益相关)对kafka与pulsar进行对比

0 人点赞