简单比较 Apache Kafka 和 Apache Pulsar要点 - Jaroslaw


Apache Pulsar 是一个开源的分布式发布-订阅消息系统,与kaffka根本不同的是持久性存储。在 Kafka 中,日志保存在代理上,而 Pulsar 使用Apache BookKeeper,这似乎是一个真正的优势,尤其是在扩展方面。BookKeeper 的另一个诱人特性是分层存储。
 
互操作性
最强大的 Kafka 功能之一是Connect API,它允许创建源和接收器连接器。基本上可以从外部系统读取数据并将其写入 Kafka(源)或从 Kafka 主题消费并将数据写入外部系统(接收器)。
这个概念也存在于 Pulsar 中,称为Pulsar IO。
Pulsar 真正的一大优势是内置连接器——它带有一组可立即运行的插件,允许与许多流行系统交换数据。当然也可以开发定制连接器!
最后,Pulsar 提供了一个Kafka 适配器,允许在 Pulsar 应用程序中针对 Kafka 重用用 Java 编写的应用程序代码。
 
顺序
这可能很关键,并且在很大程度上取决于您的用例。如果您需要保留事件的顺序,Kafka 确实通过分区支持它。对于 Pulsar,您也可以使用分区或key_shared订阅。

消息确认
在 Kafka 中,消息在每个分区的消费者组级别分别得到确认。同一消费者组的两个消费者不可能同时处理来自同一分区的两条消息。这就是分区的重点。它保证消息排序。
Pulsar 允许在一个主题上引入多个消费者并并行获取消息,这些消息可以单独确认。这是 Pulsar 构建的功能之一:作为任务队列的主题,也称为调度。(banq注:Pulsar实际没有分布式事务机制)
 
原文点击标题