zookeeper分布式先进先出队列 (实操课程)

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读来学习和测试zookeeper。

阅读本文之前,请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录(实操课程系列)zookeeper 客户端常用命令简单记录(实操课程系列--watcher功能测试)(发布订阅功能测试)

Zookeeper实现FIFO队列:在一个主节点server下面按顺序创建临时顺序子节点,第二个子节点在第一个子节点注册Watcher事件监听,监听前一个子节点变化,当第一个子节点消失,也就是执行完毕,马上执行,这样按顺序挂接下去,实现FIFO。

1、执行命令zkCli.cmd -server 127.0.0.1:2181连接到zoo keeper 服务器,开启客户端。,执行命令zkCli.cmd -server 127.0.0.1:2182连接到zoo keeper 服务器,开启客户端。,执行命令zkCli.cmd -server 127.0.0.1:2183连接到zoo keeper 服务器,开启客户端。如下图:

2、2181客户端查看server节点,2182客户端查看server节点,2183客户端查看server节点,

3、2181客户端新建临时节点2181,2182客户端新建临时节点2182,2183客户端新建临时节点2183,

4、2181是最小的序号节点,2183是最大的序号节点,所以,2182客户端监听2181节点;2183客户端监听2182节点;

5、2181客户端退出,2182客户端收到节点删除通知:

6、2182客户端退出,2183客户端收到节点删除通知:

总结:序号最小的执行,执行完毕退出,然后下一个收到通知,判断自己是最小的就执行,否则等待。这就是分布式先进先出队列的实现原理。

相关推荐
i***66502 小时前
分布式推理框架 xDit
分布式
哈哈哈笑什么2 小时前
分布式事务实战:订单服务 + 库存服务(基于本地消息表组件)
分布式·后端·rabbitmq
哈哈哈笑什么2 小时前
完整分布式事务解决方案(本地消息表 + RabbitMQ)
分布式·后端·rabbitmq
LDG_AGI2 小时前
【推荐系统】深度学习训练框架(十):PyTorch Dataset—PyTorch数据基石
人工智能·pytorch·分布式·python·深度学习·机器学习
tanxiaomi3 小时前
Redisson分布式锁 和 乐观锁的使用场景
java·分布式·mysql·面试
熊文豪5 小时前
【前瞻创想】Kurator:站在巨人肩膀上的分布式云原生创新实践
分布式·云原生·kurator
问道飞鱼6 小时前
【分布式知识】Redis-Shake 容器云部署完整指南
redis·分布式·redis-shake
milanyangbo8 小时前
从硬盘I/O到网络传输:Kafka与RocketMQ读写模型及零拷贝技术深度对比
java·网络·分布式·架构·kafka·rocketmq
有梦想的攻城狮8 小时前
Rabbitmq在死信队列中的队头阻塞问题
分布式·rabbitmq·死信队列·延迟队列
Wang's Blog9 小时前
Elastic Stack梳理:深度解析Elasticsearch分布式查询机制与相关性算分优化实践
分布式·elasticsearch