zookeeper应用场景练习(分布式锁)

               

 

 在平常的高并发的程序中,为了保证数据的一致性,因此都会用到锁,来对当前的线程进行锁定。在单机操作中,很好做到,比如可以采用Synchronized、Lock或者其他的读写多来锁定当前的线程。但是在分布式的系统中,就很难做到这一点。因此可以采用zookeeper中节点的特性来满足这一点。大致实现的思路如下。

 1.每个客户端都去zookeeper上创建临时的顺序节点

 2.客户端判断当前自己创建的节点是不是最小的

 3.如果是的话,就获得了执行当前任务的锁

 4.如果不是的话,就找到比自己小的节点,然后进行监听,如果被删除的话,就可以获得锁


 上面就是大致的实现思路,下面我们来通过代码来实现一下。

 

猜你喜欢

转载自blog.csdn.net/qq_43747119/article/details/87180081
今日推荐