星空网 > 软件开发 > ASP.net

(原)3.4 Zookeeper应用

本文为原创文章,转载请注明出处,谢谢

分布式锁

1、原理

  • 建立表示锁的父节点(图中locker节点)
  • 每个争抢锁的服务器在locker节点下创建有序的临时节点
  • 判断自己是否抢到锁:获取locker下所有子节点,并进行从小到大排序,判断自己创建的临时节点是否是最小节点。
    • 是最小节点,说明抢到锁,执行相应的操作,最后删除自己创建的临时节点
    • 不是最小节点,则监听比自己节点小1的(顺序节点的数字-1)节点的删除事件,出发此事件则进行新一轮的争抢

2、扩展

  • 设置超时时间,超过此事件放弃此次争抢时间。
  • 加入对网络抖动的支持,设置支持抖动次数,次数以下在争抢锁时如果出现自己创建节点获取不到,则创建节点进行争抢

3、架构

(原)3.4 Zookeeper应用

  • locker:争抢时要创建的节点
  • client_n:每个参与争抢的客户端服务器,由这些客户端创建locker与node节点
  • node_n:客户端服务器创建的排队节点

4、流程图

(原)3.4 Zookeeper应用

5、总结

分布式锁主要用在分布式项目中需要唯一执行的功能点,例如利用定时任务进行数据处理,多个服务器部署项目进行集群,定时任务分布在各个服务器进行处理,可利用分布式锁进行服务器层面的分布式锁或者更细粒度的定时任务级别的分布式锁;分布式锁开发的关键点在于创建自增序号的节点、判断自身是否为最小的节点以及对比自己次小节点删除事件的监控,针对网络抖动以及超时进行处理。

 




原标题:(原)3.4 Zookeeper应用

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

独立站三问:做不做?什么时机做?怎么做?:https://www.ikjzd.com/articles/13698
Shopee 12.12大促 跨境新卖家单量达平日15倍:https://www.ikjzd.com/articles/136980
亚马逊遇到差评怎么办?:https://www.ikjzd.com/articles/136981
一文秒懂Facebook广告投放常见专业术语!:https://www.ikjzd.com/articles/136982
一文秒懂Facebook广告投放常见专业术语!:https://www.ikjzd.com/articles/136983
优质Instagram feed如何产出?:https://www.ikjzd.com/articles/136985
零售晚报:携程发布318成绩单 近800万商家GMV增长101% :https://www.kjdsnews.com/a/1836405.html
19点聊电商:百度云:大模型应用元年 企业如何先“卷”一步? :https://www.kjdsnews.com/a/1836406.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流