当前位置: 首页 > news >正文

网站设计哪家便宜电影网站做淘宝联盟

网站设计哪家便宜,电影网站做淘宝联盟,深圳新闻,徐州网站建设制作工作室1. 什么是分布式锁#xff1f; 在分布式系统中#xff0c;也会涉及到多个节点访问同一个公共资源的情况#xff0c;和 Java 中多线程的锁不一样#xff0c;由于分布式系统中涉及到多个进程多个主机#xff0c;所以说 Java 中 synchronized 就不合适了。 2. 分布式锁的简…1. 什么是分布式锁 在分布式系统中也会涉及到多个节点访问同一个公共资源的情况和 Java 中多线程的锁不一样由于分布式系统中涉及到多个进程多个主机所以说 Java 中 synchronized 就不合适了。 2. 分布式锁的简单实现 思路使用一个公共的服务器来记录加锁的状态 可以用过 Redis 来记录一个键值来表示锁的状态当加锁的时候就设置该键值对释放锁时就删除不过此时就有了一个问题如果说服务器 1 加锁之后宕机了那么释放锁的操作就无法执行其他服务器就不能获取锁所以说可以通过set ex nx的方式再设置一个过期时间键值对的设置也是有讲究的如果设置为一个简单的 “111”那么其他服务器也能释放锁此时可以引入一个校验 id比如设置为服务器编号通过判断是否是加锁的那台服务器来释放锁。 此时还有一个问题校验 id 时需要通过 get 操作获取值然后通过 del 操作删除锁这样的操作并不是原子的那么就会导致一台服务器加锁之后其中的两个线程进行解锁操作当线程 A 解锁完成后线程 B 的 del 操作前的这段时间服务器 2 加锁之后就被释放了 可以把释放锁的逻辑写在 Lua 脚本中执行Lua 脚本在 Redis 中的执行是原子的 3. 引入“看门狗” 上述的方案中还存在一个问题由于把 key 的过期时间设置为了一个定值如果设置的过小那么任务还没执行完锁自动释放了这就需要引入看门狗机制watch dog 本质上是加锁的服务器上的一个单独的线程不是 Redis 服务器的通过这个线程来对锁过期时间进行续约这样就不用担心提前失效的问题了即使服务器宕机了watch dog 线程也就没了无法续约到了一定时间自然就释放锁了 4. 引入 Redlock 在实际中Redis 一般是集群部署的就可能出现下面这种情况 服务器 1 向 master 节点进行加锁操作设置 key 的过程刚刚完成master 节点就宕机了slave 节点升级为了新的 master 节点但是原来主节点设置的锁并没有来得及同步过来此时就相当于服务器 1 的锁白加了。 可以引入多组 Redis 节点每组 Redis 节点都包含一个主节点和若干从节点并且组和组之间的数据都是一致的加锁的时候按照一定的顺序写多个 master 节点并且设定操作的超时时间如果超过这个时间还没有加锁成功就认为该节点加锁失败了根据少数服从多数的原则如果超过一半的主节点都加锁失败才认为本次加锁失败解锁也是这样的操作。
http://www.hkea.cn/news/14592544/

相关文章:

  • 现在什么省网站备案最快网站建设代理商电话
  • 河南专业网站建设公司排名手机网站建设多钱
  • 网站的优化和推广方案怎么写扬之云公司网站建设
  • 沈阳网站建设建设公司做政协网站软件的公司
  • 免费二级网站云南网站建设优化企业
  • 开发手机端网站模板wordpress 图片位置
  • wix做的网站南充城市建设投诉网站
  • 网站制作视频课程北京高端品牌网站定制
  • 国外网站源代码学校网站建设要多少钱
  • 企业官方网站建设目的小程序注册哪类商标
  • 做感恩网站的图片大全软件外包平台
  • 两个彩票网站做赔付网站空间免备案
  • 刷评论网站推广房和城乡建设部网站
  • 登录建设官方网站企业培训计划
  • dede中英文网站合肥网站建设电话咨询
  • 手机访问网站页面丢失深圳光明区
  • 网站网页设计尺寸wordpress pc 手机
  • 泰州网站建设专业团队wordpress单页 文章页
  • 局域网网站架设软件文档下载免费网站
  • 网站建设导航分哪几类昭阳区建设局网站
  • 网站网站制作网vi设计主题品牌
  • wordpress分站没有服务器如何做网站
  • 如何搭建网站建设环境企业网站建设调研报告
  • 乐都企业网站建设公司泉州专业网站建设费用
  • 承德网站网站建设郑州建设银行官网站
  • 凡科做的网站怎么改壁纸中山市建设局网站窗口电话号码
  • 沈阳网站推广排名方案wordpress 音频
  • 建设人才信息网是什么网站网上购物商城开发
  • 东莞网站排名优化报价凡客诚品正品官网
  • 企业网站的建设与维护舆情分析报告案例