首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >与Apache Pulsar相比,Kafka的优点和缺点是什么

与Apache Pulsar相比,Kafka的优点和缺点是什么
EN

Stack Overflow用户
提问于 2017-09-05 06:50:04
回答 4查看 20K关注 0票数 56

雅虎开发了Pulsar,pub-sub消息系统,并使其开源。它现在是Apache的孵化项目。因为Kafka也用于相同的目的。想知道,卡夫卡相对于脉冲星的主要正负点。

EN

回答 4

Stack Overflow用户

发布于 2017-11-24 17:22:26

最近我对这两种方法都进行了一些尝试,以下是我收集到的信息。

中性:

  • 我打算让Kafka在社区/文档等方面获胜,但我无法轻松地找到对我在Kafka上的问题的回复,有些是旧的和令人困惑的(目标是遗留的API)。但是Pulsar文档已经足够好了,开发者在Slack (hello @Matteo Merli :)上的响应非常好,底层部分(Zookeeper,Bookkeeper)也有不错的文档,如果你想深入研究internals.
  • Kafka的目标是高吞吐量,低延迟的Pulsar。两者都提供了控制它的设置。
  • 都已经为生产做好了准备,并在几家公司进行了战斗测试

Pro脉冲星:

根据我的经验,

  • 更容易使用。在Kafka中,经纪人是哑巴,消费者按照他们认为合适的方式来组织通信。这种灵活性是以Kafka的用户必须了解如何将各个部分组合在一起的成本为代价的。我猜预期的好处是增加了灵活性,但由于Pulsar能够复制Kafka Consumers (而且代码相当少),我认为这是Pulsar的优势。geo-replication
  • It
  • 你可以做一些不容易做的事情(或者在Kafka中是不可能的):多租户(安全,隔离...),资源管理(主题节流,配额),Kafka有一些Kafka目前缺乏的功能,比如寻求一个特定的API扩展到数百万个主题,而Kafka在Zookeeper
  • Easier部署中构造数据的方式限制了Kafka。一个独立的Pulsar将启动它自己的本地Zookeeper,我个人发现,与遗留的Scala和Java代码的混合相比,在Java中使用understand
  • written更容易进行配置。此外,我发现代码库组织得很好,也更容易理解。这在一定程度上是因为它依赖于Zookeeper和Bookkeeper,它们是外部项目,有自己的文档/社区/开发人员等(请注意,这些项目也在Apache foundation中,也来自雅虎,因此它们可以很好地合作)。

专业卡夫卡:

  • Kafka有一些构建在顶部的东西,比如Kafka Streams (从未使用过,所以我不能说是否有类似的)

另请阅读:

票数 54
EN

Stack Overflow用户

发布于 2017-12-09 23:11:34

Apache Kafka更成熟(它存在的时间更长),并且拥有更高级别的API(即KStreams)。它的成熟度限制了流动性和灵活性,例如github上大约500个开放的PR

Apache Pulsar深入研究了Apache Kafka的设计决策,并结合了一种改进的设计和一组令人兴奋的功能,即命名空间主题的想法,并且允许在名称空间级别应用ACL或配额似乎是一个如此深刻的好主意,以提供更好的多租户支持。脉冲星的其他一些令人兴奋的特征是geo-replication,以及排队和流的统一

票数 37
EN

Stack Overflow用户

发布于 2018-06-29 17:00:46

我们需要一个具有持久主题、合理延迟和高吞吐量的流媒体平台。最近,我们评估了是否应该使用Kafka或Pulsar,与@nha不同,我们现在支持Apache Kafka。以下是我们的发现:

脉冲星- Pros

  • 具有丰富的持久性/非持久性主题、多租户、ACL、多数据中心复制等功能。
  • 更灵活的客户端API,包括CompletableFutures、流畅的接口等。
  • java客户端组件是线程安全的-使用者可以确认来自不同线程的消息

脉冲星- Cons

currently

  • messageId客户端几乎没有javadoc

  • small社区-8个堆栈溢出问题currently

  • messageId概念与相关-与Kafka offset相比,消费者不能轻松地在主题上定位自己,Kafka offset是连续序列的
  • 无法轻松读取主题中的最后一条消息-需要从头到尾浏览所有消息。Zookeeper没有BookKeeper操作复杂性-
  • + Broker节点+ BookKeeper -所有clustered
  • latency都有问题- Broker节点和Kafka之间有一个额外的远程调用(与Kafka相比)

Kafka - Pros

message node非常丰富且有用的javadoc

  • Kafka Streams

  • mature和广泛的community

  • simpler操作于生产环境中-- broker节点还提供了storage

  • transactions --原子读写在topics

  • offsets内形成一个连续的序列--
  • 用户可以轻松地寻找到最后的消息

Kafka -- Cons

  • 使用者无法确认来自不同线程的消息
  • 无多租户
  • 无可靠的多DC复制-(在Confluent企业版中提供)
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46048608

复制
相关文章
Zookeeper的优点和缺点
在学习了Zookeeper体系介绍和特性后,您已经很好地理解了Zookeeper。现在,在这个ZooKeeper教程中,我们将讨论ZooKeeper的优点和局限性。有几个功能对用户非常有益。在同一个地方,也有一些限制,我们必须先了解它。
后场技术
2020/09/03
4.9K0
Zookeeper的优点和缺点
Flutter的优点和缺点
Flutter 满足开发移动应用程序的自定义需求和要求。它还提供了许多优点,如下所列。
徐建国
2021/11/30
2.1K0
kali Linux的优点与缺点
Kali Linux预装了许多渗透测试软件,包括nmap 、Wireshark、John the Ripper,以及Aircrack-ng. 用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux既有32位和64位的镜像。可用于x86指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARMChromebook
用户10781703
2023/10/10
7620
kali Linux的优点与缺点
mongodb与mysql相比的优缺点
与关系型数据库相比,MongoDB的优点: ①弱一致性(最终一致),更能保证用户的访问速度: 举例来说,在 传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例如通过ATM查看账户信息的 时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延迟。他们需要的是一个“大约” 的数字以及更快的处理速度。 但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积
wangxl
2018/03/08
15.9K0
python语言的优点和缺点[通俗易懂]
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路。
全栈程序员站长
2022/09/06
1.4K0
脚本语言是什么?脚本语言的优点和缺点是什么
有些人在接触编程的时候,可能就会遇见脚本语言,但是因为之前没有了解过的原因,所以在看见脚本语言的时候往往就会手足无措,下面我们就对于脚本语言有一个简单的介绍。
用户8739990
2021/07/09
4.1K0
脚本语言是什么?脚本语言的优点和缺点是什么
神经网络的优点和缺点
在本文中我们将探讨如今深度学习如此受欢迎的原因。在读完本文后,你将了解神经网络的主要优缺点,并且当你为解决机器学习问题选择合适类型的算法时,你将做到心中有数。你还将了解目前在机器学习中我们遇到了哪些主要问题。
CDA数据分析师
2018/07/30
4.7K0
神经网络的优点和缺点
Hadoop的优点和缺点有哪些?
2、Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。
加米谷大数据
2019/04/19
4.7K0
Hadoop的优点和缺点有哪些?
MySQL建立索引的优点和缺点
这是因为,创建索引可以大大提高系统的性能。 第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二、可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三、可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四、在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
全栈程序员站长
2022/08/31
2.3K0
多进程优点和缺点分析
进程是资源分配的最小单位,线程是CPU调度的最小单位。 进程:经典定义是一个执行中的程序的实例。 进程与应用程序的区别:程序是一堆代码和数据的集合,可以作为目标模块存在于磁盘,或作为段存在于地址空间中。进程是程序的一次具体执行过程,它是动态地创建和消亡的,具有一定的生命周期,是暂时存在的。程序总是运行在某个进程的上下文中。
用户7365393
2021/10/07
1.6K0
JVM 优点与缺点的深入分析
Java 最初诞生的时候,它可以说是其他语言的进化版。不仅因为Java很简单,而且这一进化的语言还是一个可以运行第三方硬件字节码的虚拟机。它还是垃圾收集站,从而令存储管理和内核转储(core dump)不再是麻烦。当然还有它相当全面的类库。虽然它没有什么惊世的新性能,但它把许多语言的优点基于一身。
阳光岛主
2022/01/10
1.1K0
JVM 优点与缺点的深入分析
Java多线程编程的优点和缺点
老IT陈王
2023/10/16
2040
Java多线程编程的优点和缺点
【算法】机器学习算法的优点和缺点
从Logistic回归开始,然后尝试Tree Ensembles和/或Neural Networks。 奥卡姆的剃刀原理:使用最简单的算法,可以满足您的需求,并且只有在严格需要的情况下才用更复杂的算法。 根据我自己的经验,只有神经网络和梯度增强决策树(GBDT)正在工业中广泛使用。 我目睹Logistic回归和随机森林被弃用不止一次(这意味着它们是好的开始)。 从来没有人听说有人在公司中讨论SVM。
陆勤_数据人网
2018/07/30
2K0
Pulsar与Kafka消费模型对比
kafka 属于 Stream 的消费模型,为了支持多 partition 的消费关系,引入了 consumer group 的概念,同时支持在消费端动态的 reblance 操作,当多个 Consumer 订阅了同一个 Topic 时,会根据分区策略进行消费者订阅分区的重分配。只要 consumer-group 与 topic 之间的关系发生变更,就会动态触发 reblance 操作,诸如:
王知无-import_bigdata
2019/06/20
2.8K0
Pulsar与Kafka消费模型对比
vite 相比webpack的优缺点。
在之前的文章里面我提到过,vite的缺点在于目前的生态不够webpack成熟,但是只要能弥补这个缺点,便有很大概率能替代目前webpack的大部分市场
前端老鸟
2022/03/07
1.6K0
js 全局变量优点和缺点
大家好,又见面了,我是你们的朋友全栈君。全局变量的优点:可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。 全局变量的缺点: (1)全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。 (2)全局变量破坏了函数的封装性能。函数象一个黑匣子,一般是通过函数参数和返回值进行输入输出,函数内部实现相对独立。但函数中如果使用了全局变量,那么函数体内的语句就可以绕过函数参数和返回值进行存取,这种情况破坏了函数的独立性,使函数对全局变量产生依赖。同时,也降低了该函数的可移植性。 (3)全局变量使函数的代码可读性降低。由于多个函数都可能使用全局变量,函数执行时全局变量的值可能随时发生变化,对于程序的查错和调试都非常不利。 因此,如果不是万不得已,最好不要使用全局变量。
全栈程序员站长
2022/06/28
2.8K0
关于Pulsar与Kafka的一些比较和思考
作者:Sijie Guo 来源:https://streaml.io/blog/pulsar-streaming-queuing
王知无-import_bigdata
2019/09/29
2.9K0
关于Pulsar与Kafka的一些比较和思考
Apache Kafka,Apache Pulsar和RabbitMQ的基准测试:哪一个是最快的MQ?
ApacheKafka是最流行的事件流处理系统。在这个领域中有很多同类的系统可以拿来比较。但是最关键的一点就是性能。Kafka以速度著称,但是,它现在能有多快,以及与其他系统相比又如何呢?我们决定在最新的云硬件上测试kafka的性能。 为了进行比较,我们选择了传统的消息broker RabbitMQ和基于Apache Bookeeper的消息broker Apache Pulsar。我们要关注以下几点,1.系统吞吐量。2.系统延迟。因为他们是生产中事件流系统的主要性能指标,特别是吞吐量测试测量每个系统在利用硬件(特别是磁盘和CPU)方面的效率。延迟测试测量每个系统交付实时消息的延迟程度,包括高达p99.9%的尾部延迟,这是实时和任务关键型应用程序以及微服务体系结构的关键需求。 我们发现Kafka提供了最好的吞吐量,同时提供了最低的端到端延迟,最高达到p99.9的百分比。在较低的吞吐量下,RabbitMQ以非常低的延迟交付消息。
冬天里的懒猫
2020/10/29
1.5K0
Apache Kafka,Apache Pulsar和RabbitMQ的基准测试:哪一个是最快的MQ?
【基础教程】Python的特点(优点和缺点)
Python 是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行,我认为主要有三点原因: Python 简单易用,学习成本低,看起来非常优雅干净; Python 标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用; Python 站在了人工智能和大数据的风口上,站在风口上,猪都能飞起来。
matinal
2020/11/27
1.6K0
mysql索引是什么 优点和缺点_MySQL索引优缺点、使用原则及种类介绍「建议收藏」
在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的。MyISAM和InnoDB存储引擎只支持BTREE索引,MEMORY/HEAP存储引擎支持HASH和BTREE索引。
全栈程序员站长
2022/09/01
6390

相似问题

与LinkedHashSets相比,LinkedHashMaps的优点和缺点是什么?

50

与组件相比,使用服务的优点和缺点是什么?

32

与Spring相比,Seam的优点/缺点是什么?

50

与Socket相比,使用UdpClient的优点和缺点是什么

11

与RestTemplate相比,使用feign的优点和缺点是什么

52
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文