为什么要选择Apache Pulsar
极客时间编辑部
讲述:丁婵大小:1.63M时长:03:34
Apache Pulsar 是由雅虎开发并开源的下一代发布订阅消息系统,用于解决现有开源消息系统的不足,并已经在雅虎的生产环境中运行了三年多时间。
Pulsar 集群主要由三部分组成:broker 集群、bookie 集群以及用于协调配置管理的 ZooKeeper 集群。Broker 组件用于接收、保存和传递消息,而 bookie 是 Apache BookKeeper 服务器,为 Pulsar 提供持久性的存储,一直到消息被消费掉。
作为下一代发布订阅消息系统,Pulsar 主要有以下特性:1. 灵活的消息模型
传统的消息模型有两种:队列模型和发布 / 订阅模型,而 Pulsar 通过统一的 API 实现了这两种模型。同时,消费者可以灵活地选择消费消息的方式,如独享方式、共享方式或失效备援方式。
对于队列模型来说,如果采用共享方式,并使用了轮询策略,那么应用程序就可以将负载分摊给消费者。与其他消息系统不同的是,Pulsar 允许活跃消费者的数量超过主题分区的数量。
2. 灵活的部署模型
Pulsar 可以被灵活地部署到不同的环境里,它可以运行在裸机上、本地或云端的 Kubernetes 集群上等。Pulsar 也可以作为单独节点运行,用于开发和测试。
3. 多租户
Pulsar 在一开始就被设计成可以在私有云和公有云上部署的托管服务,而其他的开源消息系统都没有提供这种特性。
对于大中型企业来说,共享一个 Pulsar 集群要比让每个团队都使用自己的集群成本低得多,因为集群资源可以得到更好的利用,只需要一个 DevOps 团队就足以应付所有的工作,而且可以根据负载高峰期和项目增长作出容量规划。
4. 多地域复制
与其他消息系统不一样的是,Pulsar 将多地域复制作为首要特性。用户只需要配置好区域,并启用跨集群消息复制,剩下的事情就可以由 Pulsar 来完成。数据会持续不断地被复制到远程的 Pulsar 集群上。如果数据中心之间发生网络故障,数据会被保存下来并进行重试,直到复制成功为止。
Pulsar 还可以在不同地理区域的多个数据中心上进行并行的数据复制。雅虎的键值存储系统 Sherpa 就使用 Pulsar 来复制预写式日志(WAL),日志被复制到十个不同的地理区域,实现最终一致性。
5. 持久性
Pulsar 在收到消息并进行确认之后,它可以保证数据不会因为各种故障而丢失掉。持久性保证强度由保存数据的磁盘数量来决定,而磁盘数量则由配置的“9”的个数来决定。
Pulsar 使用 bookie 来保证持久性,在收到一个消息之后,它将消息发送给多个 bookie 节点。bookie 节点在收到消息后,将它保存到内存里,同时也往预写日志系统 WAL 里写入一份。而 WAL 可以保证数据不会丢失,即使机器出现故障,在重启机器后,通过重放 WAL 就可以恢复数据。
得益于 BookKeeper 内部 IO 机制的优化,在保证强持久性的同时,Pulsar 仍然能够提供很高的吞吐量和很低的延迟。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论