ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 企业开发 >> zookeeper分布式锁实现方式

zookeeper分布式锁实现方式

来源:网络整理     时间:2018-10-20     关键词:

本篇文章主要介绍了" zookeeper分布式锁实现方式",主要涉及到方面的内容,对于企业开发感兴趣的同学可以参考一下: zookeeper 应用分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性,即用户只要完全相信每时每刻,ZK集群中任意节点(一个ZK Serv...

zookeeper 应用

分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性,即用户只要完全相信每时每刻,ZK集群中任意节点(一个ZK Server)上的相同ZNode的数据是一定相同的。锁服务可以分为两类,一个保持独占,另一个控制时序。

共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。

Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点如果正是自己创建的,那么它就获得了这个锁如果不是那么它就调用 exists(String path, boolean watch) 方法并监控 Zookeeper 上目录节点列表的变化,一直到自己创建的节点是列表中最小编号的目录节点,从而获得锁,释放锁很简单,只要删除前面它自己所创建的目录节点就行了。



以上就介绍了 zookeeper分布式锁实现方式,包括了方面的内容,希望对企业开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_4594054.html

相关图片

相关文章