Pulsar的存储计算分离设计:全新的消息队列设计思路

ApachePulsar是一个采用存储计算分离设计的分布式消息队列,其中BookKeeper负责存储,ZooKeeper处理元数据和主节点选举。这种设计让计算节点无状态,简化故障恢复,但可能增加系统复杂性。它允许开发者专注于计算逻辑,而存储系统则专注于数据的安全高效存储。
摘要由CSDN通过智能技术生成

Apache Pulsar是一个开源的分布式消息队列产品,最早是由 Yahoo 开发,现在是 Apache 基金会旗下的开源项目。

Pulsar 的架构和其他消息队列有什么不同?

Pulsar 和其他消息队列最大的区别是,它采用了存储计算分离的设计。存储消息的职责从 Broker 中分离出来,交给专门的 BookKeeper 存储集群。这样 Broker 就变成了无状态的节点,在集群调度和故障恢复方面更加简单灵活。

先来看图中右侧的 Bookie 和 ZK 这两个方框,这两个方框分别代表了 BookKeeper 集群和 ZooKeeper 集群,左侧是Brocker集群。

  • ZK集群,用于选举主节点和保存元数据;
  • BookKeeper 存储消息的地方,有点儿类似 HDFS,是一个分布式的存储集群,只不过它的存储单元和 HDFS 不一样,在 HDFS 中存储单元就是文件,这个很好理解。而 BookKeeper 的存储单元是 Ledger;
  • Brocker集群,不存储消息的无状态路由计算节点,Load Balancer 负责动态的分配,哪些 Broker 管理哪些主题分区。Managed Ledger 这个模块负责管理本节点需要用到的那些 Ledger,当然这些 Ledger 都是保存在 BookKeeper 集群中的。为了提升性能,Pulsar 同样采用用了一个 Cache 模块,来缓存一部分 Ledger。

图中的 Global replicators 模块虽然也会复制消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值