基于zookeeper集群下的分布式队列

本文介绍了如何在分布式环境中利用Zookeeper构建一个类似于单进程队列的组件,用于跨进程、跨主机、跨网络的数据共享和传递。通过在Zookeeper的queue节点下创建顺序节点作为生产者存放数据,消费者则读取这些节点来消费数据。文章包含架构图和流程图,详细解释了offer和poll的核心算法流程,并提供了一个简单的工程实例。
摘要由CSDN通过智能技术生成

转载请说明出处:https://blog.csdn.net/LiaoHongHB/article/details/84983529

在传统的单进程编程中,我们使用队列来存储一些数据结构,用来在多线程之间共享或传递数据。

分布式环境下,我们同样需要一个类似单进程队列的组件,用来实现跨进程、跨主机、跨网络的数据共享和数据传递,这就是我们的分布式队列。

zookeeper可以通过顺序节点实现分布式队列。

架构图

 

图中左侧代表zookeeper集群,右侧代表消费者和生产者。
生产者通过在queue节点下创建顺序节点来存放数据,消费者通过读取顺序节点来消费数据。

流程图

offer核心算法流程

 

poll核心算法流程

1、新建工程:zookeeper-queue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值