当前位置: 移动技术网 > IT编程>开发语言>Java > 面试题总结

面试题总结

2019年03月15日  | 移动技术网IT编程  | 我要评论

面试题总结

1、zookeeper如何实现分布式锁,以及羊群效应

zookeeper实现分布式锁主要基于同一个目录下节点名称不能重复的原理。

(1)先创建一个永久性的节点lock,临时节点下不能创建子节点

(2)线程在lock目录下依次创建临时有序节点(避免死锁)01,02,03......

(3)线程查询lock目录下所有的子节点,然后判断自己的节点是最小的

  (a)如果是最小的,那么获取锁成功

  (b)如果不是最小的,那么监听lock目录的删除节点事件(这种实现方式会实现羊群效应)

  (b`)如果不是最小的,监听自己前面一个节点的删除节点事件(避免羊群效应)

  在监听前面一个节点时,避免该节点已被删除,需要再次判断

(4)释放锁时删除自己创建的临时节点

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网