![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
红丶
Stay hungry, stay foolish.
展开
-
zookeeper实现分布式锁 (基于临时顺序节点)
大致思想为:每个客户端在尝试获取锁时,会在 zookeeper 上生成一个唯一的临时有序节点。 判断是否获取锁的方式很简单,只需要判断有序节点中序号最小的一个。 当释放锁的时候,只需将这个临时节点删除即可。而其余没有获取到锁的客户端只需要监听它的前一个节点即可。这就避免了惊群效应。java客户端实现依赖<dependencies> <dependency> <groupId>org.apache.zookeeper</原创 2020-11-26 17:08:59 · 660 阅读 · 1 评论 -
zookeeper实现分布式锁 (基于临时节点)
zk 分布式锁是基于watch机制实现的。其中一种比较简单的思路:就是某个客户端尝试创建临时 znode,此时创建成功了就获取了这个锁;这个时候别的客户端来创建锁会失败,只能注册个监听器监听这个锁。释放锁就是删除这个 znode,一旦释放掉就会通知客户端,然后有一个等待着的客户端就可以再次重新加锁。java实现依赖<dependencies> <dependency> <groupId>org.apache.zookeepe原创 2020-11-26 17:01:07 · 517 阅读 · 0 评论 -
zookeeper 简介和其应用场景
Zookeeper 简介ZooKeeper 是一个开源的分布式框架,提供了协调分布式应用的基本服务。它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度。它是 Google 的 Chubby 一个开源的实现。它本身可以搭建成一个集群,这个 zk 集群用来对应用程序集群进行管理,监视应用程序集群中各个节点的状态,并根据应用程序集群中原创 2020-11-26 16:38:30 · 231 阅读 · 0 评论