雅虎开发了Pulsar,pub-sub消息传递系统并使其成为开源的。它现在是Apache的孵化项目。由于卡夫卡也用于同一目的。想知道卡夫卡超过Pulsar的主要加分和减号。
答案 0 :(得分:40)
我最近和两个人玩了一下,这就是我收集的内容。
<强>中性:强>
Pro pulsar:
Pro Kafka:
同时阅读:
答案 1 :(得分:24)
Apache Kafka 更成熟(它已存在更长时间)并且具有更高级别的API(即KStreams)。它是成熟的,但是限制了流动性和灵活性,即github上的~500 open PR
Apache Pulsar 深入研究了Apache Kafka的设计决策,并结合了改进的设计和一系列令人兴奋的功能,即命名空间主题的概念,并允许要在名称空间级别应用的ACL或配额似乎是一个非常好的主意,以提供更好的多租户支持。 Pulsar的其他一些令人兴奋的功能是地理复制,以及统一排队和流媒体
答案 2 :(得分:8)
我们需要一个具有持久主题,合理延迟和高吞吐量的流媒体平台。最近,我们评估了应该使用Kafka还是Pulsar,并且与@nha不同,我们现在支持Apache Kafka。这是我们的发现:
脉冲星-优点
脉冲星-缺点
Kafka-专业人士
Kafka-缺点
答案 3 :(得分:3)
Pulsar是Apache软件基金会(Apache Software Foundation)获得最高地位的最新项目,它正在与另一个ASF项目Kafka进行很多比较。
Pulsar是在商品硬件上运行的高度可扩展,低延迟的消息传递平台。它提供了有关主题的简单发布-订阅和队列语义,轻量级计算框架,针对订阅者的自动游标管理以及跨数据中心复制。
与此同时,对600多个用户进行了调查的2018年Apache Kafka报告发现了数据管道和消息传递技术的前两种用途。随着微服务架构的兴起,它的使用越来越广泛。
“这两个系统的用例有很大的重叠,但是原始设计却大不相同,”其创建者之一Matteo Merli说,他成立了提供快速数据平台的初创公司Streamlio。
Yahoo将Pulsar创建为单个多租户系统,以解决其具有多个消息传递系统和多个团队部署它们的问题。
它于2016年作为开源发布,并于2017年6月进入ASF孵化器。大约四年来,它已被Yahoo的分布式键值服务Yahoo应用程序Mail,Finance,Sports,Gemini Ads和Sherpa使用。
在博客中,联合创始人郭思杰通过以下方式总结了Pulsar对Kafka:
“ Apache Pulsar将高性能流(Apache Kafka追求)和灵活的传统排队(RabbitMQ追求)结合到一个统一的消息传递模型和API中。 Pulsar使用统一的API为您提供一个具有相同高性能的流和排队系统。”
说Merli:“流和排队之间有区别;在很多用例中,您需要一个或另一个,但是大多数人都需要使用不同的用例。”
两层架构 Merli说,两层设计是Pulsar的关键。有一个无状态的代理层,用于接收和传递消息,以及一个有状态的持久层,其中包含一组称为bookies的Apache BookKeeper存储节点,它们提供低延迟的持久存储。
Merli说,Pulsar建立在拥有强大数据保障的思想之上。它是专为共享消费而设计的,而卡夫卡则不是。而且Pulsar允许用户为邮件配置保留期,即使所有订阅都消耗了邮件也是如此。它的分层体系结构和以段为中心的存储提供了关键优势:
您可以独立扩展代理或存储层。 由于代理是无状态的,因此可以将主题快速移至其他代理。这为平衡代理之间的流量提供了一种有效的方法。 在同一个分区上可以有多个使用者,您可以根据需要添加任意数量。 由于没有数据存储在本地,因此在扩展容量时不需要复制分区数据,并且不需要重新平衡。创建分区主题后,Pulsar会以不可知的方式自动将数据分区给消费者和生产者。
代理将消息数据发送到多个BookKeeper节点,这些节点将数据写入到预写日志中,并将副本保存到内存中。在节点发出确认之前,日志将被强制写入稳定的存储中,从而即使您断电也可以确保保留。主题分区可以扩展到整个BookKeeper群集的总容量,您可以通过简单地添加节点来扩展群集。
自进入孵化器以来,重点一直放在简化Pulsar入门上。
Pulsar的2.0版已于6月发布,其中包括一种称为“ Pulsar Functions”的“流本机”处理功能,该功能使用户可以用Java或Python编写处理功能,以处理通过管道的数据。 2.2版即将发布,它将具有交互式SQL查询功能。
Pulsar提供多种语言和协议绑定,包括Java,C ++,Python和WebSockets,以及与Kafka兼容的API。
进一步阅读:Apache Pulsar:是卡夫卡杀手吗?
Apache Pulsar : Is it a KAFKA Killer? Written By Bhagwan s. Soni
为什么我们应该选择Apache Pulsar而不是Kafka?
Apache Pulsar是PubSub的企业版,最初由Yahoo开发,现在由Apache Software Foundation支持。 Apache Pulsar在过去的3年中一直在生产系统上运行,并证明了其稳定性。
Apache Pulsar涵盖了Kafka提供给我们的几乎所有功能,可能具有不同的名称。 Pulsar具有许多功能,但我想强调其中一些功能,这将有助于我们与Kafka脱颖而出-
1} Apache Pulsar为您提供了有关该主题的3种订阅类型: A}独家 —只有一个使用者将使用主题中的数据 B}共享 —多个消费者将使用主题中的数据 C}故障转移 —不止一个消费者,但在给定的时间点,只有一个消费者将使用数据。
2}每个名称空间可以有一个或多个主题
3}强烈支持多币种
4}在多个群集上进行数据复制
5}强大的消息持久性支持,可防止数据丢失