![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
zookeeper
EASON_93
这个作者很懒,什么都没留下…
展开
-
ZK分布式锁的实现
ZK分布式锁的实现 1. 类图 2. 实现 2.1 简单实现 通过实现抽象实现AbstractLock,实现共有逻辑 简单实现的想法是每次都监听一个节点,当节点失效的时候通过Zk的监听模式通知客户端来重新争取锁。 AbstractLock public abstract class AbstractLock { public final static String PATH = "/MYLOCK3"; public static final String ADDRESS = "12原创 2020-09-01 20:47:56 · 202 阅读 · 0 评论 -
ZK分布式锁
zk分布式锁 1. 锁的类型实现 独占锁:用znode来看做一把锁,通过create znode来实现。只有创建成功的才拥有这把锁。 时序锁:在znode的节点下面创建一些临时有序的节点。通过父节点distribute_lock来维持一份sequence,保证子节点创建时序,形成全局时序。 2. redis锁和zk锁的区别redis的优点: 优点: 速度快 缺点: 在分布式情况下,redis主设置了key,但是没有同步的情况下,主挂了。导致其他线程也能正常上锁了。 zk锁的优点: 1. 锁失效实现简单,原创 2020-09-01 20:46:50 · 277 阅读 · 0 评论 -
ZK初识
ZooKeeper 1. ZK工作原理 Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。 两种模式: 恢复模式(选主) 广播模式(状态同步) 1.1 选举 节点有三种类型,leader,follower,observer leader:主节点,负责进行投票的发起和决议,更新系统状态 follower:从节点,在主节点挂了之后会参与选举。 observer:观察者,不参与选举过程,只是用来连接client,分担压力。 选举过程采取原创 2020-09-01 20:45:10 · 124 阅读 · 0 评论