公司网站模板源代码常州微网站建设文档
news/
2025/9/26 13:53:58/
文章来源:
公司网站模板源代码,常州微网站建设文档,玉溪市住房和城乡建设局网站,欢迎访问中国建设银行网站密码重置如果有客户端1、客户端2等N个客户端争抢一个 Zookeeper 分布式锁。大致如下#xff1a;
1#xff1a; 大家都是上来直接创建一个锁节点下的一个接一个的临时有序节点
2#xff1a; 如果自己不是第一个节点#xff0c;就对自己上一个节点加监听器
3#xff1a; 只要上一…如果有客户端1、客户端2等N个客户端争抢一个 Zookeeper 分布式锁。大致如下
1 大家都是上来直接创建一个锁节点下的一个接一个的临时有序节点
2 如果自己不是第一个节点就对自己上一个节点加监听器
3 只要上一个节点释放锁自己就排到前面去了相当于是一个排队机制。
而且用临时顺序节点的另外一个用意就是如果某个客户端创建临时顺序节点之后不小心自己宕机了也没关系 Zookeeper 感知到那个客户端宕机会自动删除对应的临时顺序节点相当于自动释放锁或者是自动取消自己的排队。
而且用临时顺序节点的另外一个用意就是如果某个客户端创建临时顺序节点之后不小心自己宕机了也没关系 Zookeeper 感知到那个客户端宕机会自动删除对应的临时顺序节点相当于自动释放锁或者是自动取消自己的排队。
几个需要注意的地方如下 死锁问题 锁不能因为意外就变成死锁所以要用 ZK 的临时节点客户端连接失效了锁就自动释放了。 锁等待问题 锁有排队的需求所以要 ZK 的顺序节点。 锁管理问题 一个使用使用释放了锁需要通知其他使用者所以需要用到监听。 监听的羊群效应 比如有 1000 个锁竞争者锁释放了1000 个竞争者就得到了通知然后判断最终序号最小的那个拿到了锁。其它 999 个竞争者重新注册监听。这就是羊群效应出点事就会惊动整个羊群。应该每个竞争者只监听自己前面的那个节点。比如 2 号释放了锁那么只有 3 号得到了通知。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917011.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!