zookeeper
fansenjun
这个作者很懒,什么都没留下…
展开
-
使用zookeeper实现分布式锁思路
设计:使用临时顺序znode来表示获取锁的请求,创建最小后缀数字znode的用户成功拿到锁。上图中znode为lock,在lock底下保存锁请求,后缀数字最小的可以获得锁,成为锁的持有者。上图中有三个锁请求,从上到下人呗是后缀数字1-3,因为1是最小的,所以可以成为锁的持有者。避免羊群效应:把锁请求者按照后缀数字进行排队,后缀数字小的锁请求先获取锁。如果所有的锁请求者都watc...原创 2019-09-10 23:17:16 · 249 阅读 · 0 评论 -
使用zookeeper实现分布式队列设计思路
设计:使用路径为/queue的znode下的节点表示队列中的元素。/queue下的节点都是顺序持久化的znode。这些znode的名字后缀数字表示了对应队列元素在队列中的位置。znode名字后缀数字越小,对应队列元素在队列中的位置越靠前。如下图所示:介绍队列操作中的各个方法:offer方法向队列中添加一个元素offer方法在/queue下面创建一个顺序znode。因为z...原创 2019-09-11 23:29:40 · 337 阅读 · 0 评论