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节点,

zookeeper分布式先进先出队列 (实操课程)_第1张图片

zookeeper分布式先进先出队列 (实操课程)_第2张图片

zookeeper分布式先进先出队列 (实操课程)_第3张图片

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

zookeeper分布式先进先出队列 (实操课程)_第4张图片

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

zookeeper分布式先进先出队列 (实操课程)_第5张图片

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

zookeeper分布式先进先出队列 (实操课程)_第6张图片

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

zookeeper分布式先进先出队列 (实操课程)_第7张图片

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

你可能感兴趣的:(springcloud,zookeeper,zookeeper,分布式)