选择Pulsar而不是Kafka的7大理由
极客时间编辑部
讲述:杜力大小:1.55M时长:03:23
构建消息基础设施的第一步是选择合适的消息中间件技术。在这方面有很多选择,从各种开源框架到一些商用产品。其中包括 Kafka 和 Pulsar。近日,技术专家克里斯·巴塞洛缪(Chris Bartholomew)发文列出了他们选择后者的 7 个理由。
1. 流式处理和队列的合体
Pulsar 就像是一个合二为一的产品,不仅可以像 Kafka 那样处理高速率的实时场景,还能支持标准的消息队列模式,比如多消费者、失效备援订阅和消息扇出,等等。Pulsar 会自动跟踪客户端的读取位置,并把这些信息保存在高性能的分布式 ledger(BookKeeper)当中。
与 Kafka 不一样的是,Pulsar 具备传统消息队列(如 RabbitMQ)那样的功能,因此,只需要运行一个 Pulsar 系统就可以同时处理实时流和消息队列。
2. 支持分区,但不是必需的
如果你用过 Kafka,就一定知道分区是怎么回事。Kafka 中的所有主题都是分区的,这样可以使单个主题的处理速率可以得到大幅提升。但它忽略了某些主题可能不需要太高的处理速率,就不需要考虑分区,以避免复杂的 API 和管理方面的工作。而对于这点,Pulsar 的优点在于它给你选择是否使用分区的权利。
3. 日志固然不错,但 ledger 更胜一筹
当日志量增长到很大的时候,总会发生一些或大或小的麻烦。Pulsar 的优点是它通过 BookKeeper 将日志分段分散到多台不同的服务器上,从而避免了拷贝大块的日志。也就是说,日志并不是保存在单台服务器上,所以任何一台服务器都不会成为整个系统的瓶颈。这样就可以更容易地处理故障,要进行伸缩也很容易,只需要加入新的服务器,不需要进行再均衡。
4. 无状态
对于云原生应用程序开发人员来说,他们最喜欢的东西就是无状态。无状态组件启动速度快,可替换,还可以实现无缝的伸缩。如果消息中间件也是无状态的,那就更好了。Kafka 不是无状态的。反而在 Pulsar 架构中,broker 是无状态的。但完全无状态的系统是无法用来持久化消息的,所以 Pulsar 其实是有维护在状态的,只不过不是在 broker 上。在 Pulsar 架构中,数据的分发和保存是相互独立的。broker 从生产者接收数据,然后将数据发送给消费者,数据是保存在 BookKeeper 中的。
5. 简单的跨域复制
Pulsar 在设计之初就考虑到了跨域复制,配置也很容易。要搭建一个全球化的分布式 Pulsar 集群,并不需要你拥有博士学位。
6. 稳定的表现
7. 完全开源
Pulsar 提供了很多与 Kafka 相似的特性,比如跨域复制、流式消息处理(Pulsar Function)、连接器(Pulsar IO)、基于 SQL 的主题查询(Pulsar SQL)等,还有一些 Kafka 没有的特性,比如分层存储和多租户,所有这些特性都是开源的。
其实除了上述这些原因之外,使用 Pulsar 还有其他好处,比如多租户、命名空间、认证和授权、文档、对 Kubernetes 的友好支持。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 加菲猫在开源的时代,开源技术越来越多,面临很多的选择,我觉得适合自己最重要,不管选Kafka还是Pulsar,新东西出来之后,让子弹飞一会儿,更好10
- PandaMQ 领域新秀2
- 涛涛学不动了啊!
收起评论