zookepper
windskymr
这个作者很懒,什么都没留下…
展开
-
分布式利器Zookeeper:分布式锁
转自http://blog.51cto.com/zhangfengzhe/1925625原生API操作ZK 什么叫原生API操作ZK呢?实际上,利用zookeeper.jar这样的就是基于原生的API方式操作ZK,因为这个原生API使用起来并不是让人很舒服,于是出现了zkclient这种方式,以至到后来基于Curator框架,让人使用ZK更加方便。有一句话,Guava is to JAVA...转载 2018-08-07 13:09:07 · 198 阅读 · 0 评论 -
zookeeper分布式锁代码实现(一)
利用zookeeper的临时节点实现分布式锁,这种方法简单,断开连接后能自动删除临时节点,相当于已获得锁的调用者挂掉后自动释放锁,但当调用者太多,会出现“惊群”现象。/** * zookeeper锁实现 * @author skymr * */public class ZookeeperLock implements Lock, Watcher{ public Zooke...转载 2018-08-07 16:00:43 · 320 阅读 · 0 评论 -
zookeeper分布式锁代码实现(二)
之前实现的分布式锁只是利用了zookeeper的临时节点,在大集群的环境下并不适用,会出现“惊群”效应:每次节点删除,所有的调用者都来获取锁,zookeeper负载太大,也造成资源不必要的浪费;这时可以为调用者定一个顺序(zookeeper的临时顺序节点),当调用者自己的编号是所有节点中最小的,那设定它取得了锁,否则监听最小的节点,这个节点删除时,重新尝试获得锁。 本例中使用了T...转载 2018-08-08 13:58:39 · 1557 阅读 · 2 评论