本系列是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客户端收到节点删除通知:
总结:序号最小的执行,执行完毕退出,然后下一个收到通知,判断自己是最小的就执行,否则等待。这就是分布式先进先出队列的实现原理。
版权归原作者 香至-人生万事须自为,跬步江山即寥廓。 所有, 如有侵权,请联系我们删除。