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

想做个网站 怎么做山东兴华建设集团网站

想做个网站 怎么做,山东兴华建设集团网站,微信小程序源代码大全,有什么做兼职的好网站一.为什么要使用分布式锁? 传统的互斥锁synchronized只能作用于同一台虚拟机上的线程,在使用服务器集群部署的情况下,互斥锁就会失效,因此要采用分布式锁来处理不同服务器上的线程访问同一资源的情况。 二.redis的分布式锁是如何…

一.为什么要使用分布式锁?

传统的互斥锁synchronized只能作用于同一台虚拟机上的线程,在使用服务器集群部署的情况下,互斥锁就会失效,因此要采用分布式锁来处理不同服务器上的线程访问同一资源的情况。

二.redis的分布式锁是如何实现的?

1.通常采用redis的一个框架redisson去使用分布式锁

2.redisson的分布式锁底层是基于setnx和lua脚本实现的

(1)setnx:set if not exists,由于redis是单线程的,因此用了该命令后只能有一个客户端可以对该key设置值;在key没有过期或被删除的情况下,其他客户端是不能修改这个key的。

(2)lua脚本:加锁、设置过期时间等操作都是通过lua脚本完成的,lua脚本会调用redis的命令去完成操作,通过lua脚本可以保证多条命令执行的原子性。

三.redisson实现的分布式锁如何合理控制锁的有效时长?

1.redisson的分布式锁引入了WatchDog(看门狗)机制:当一个线程获得分布式锁之后,系统每隔一段时间就会去检查该线程是否还持有锁(默认是每10秒检查一次),如果线程还持有锁,则为其延长锁的持有时间,等到业务完成后线程自己释放锁即可

2.如果在线程持有分布式锁期间redis宕机,此时WatchDog机制也会随着redis宕机而崩掉,则线程会在本次持有时间结束后释放锁,这样就避免了死锁的发生

3.在线程1持有锁期间,若有线程2也要申请互斥锁,则线程2会:不断尝试获取锁,直到线程1释放锁线程2获取锁;或者超过了最大等待时间,放弃获取锁。

四.redisson实现的分布式锁可以重入吗?

1.重入:是指任意线程获取锁之后能够再次获取锁而不会被阻塞。

2.答:

(1)redisson实现的分布式锁可以重入,这个功能可以防止死锁的发生

(2)这个重入就是在内部判断该线程是否持有锁,如果持有锁则对该线程的重入次数进行计数,当线程释放锁则计数减1

(3)对重入进行计数,存储数据时是通过hash结构存储的,大key根据业务定制,小key是当前线程的唯一标识,value是当前线程重入的次数

五.redisson实现的分布式锁能解决主从一致性的问题吗?

1.redisson实现的分布式锁不能解决主从一致性的问题,假设线程1加锁成功,master节点还未将这一数据同步到slave节点就宕机了,那么线程1的加标识将丢失

2.主从一致性问题也可以通过使用redisson提供的红锁来解决,红锁要求每次加锁至少要在一半以上的redis实例上创建锁,但使用红锁会造成性能低下的问题

3.如果业务中必须要保证数据的强一致性,建议采用zookeeper实现的分布式锁

http://www.yayakq.cn/news/35502/

相关文章:

  • 做个门户网站多少钱十堰网站搜索优化价格
  • 洪山区建设局网站郴州市网站建设科技
  • 宇讯网站建设线上企业推广公司
  • 住建城乡建设部网站wordpress仿hexo主题
  • 制作网站难还是编程难站长工具搜一搜
  • 天津网站排名佛山优化网站公司
  • 额尔古纳网站建设南宁网站建设网站推广
  • 网站运营顾问青岛做网站公司
  • 福田专业网站建设公司哪家好网站开发常用jquery插件总结(四)验证插件validation
  • 为什么一个人做网站有难度房产网站cms
  • h5网站建设+北京广东贸易网站建设哪家
  • 昌图网站推广网站好玩新功能
  • 成都网站建设服务wordpress 无刷新翻页
  • 发展历程 网站建设网站建设与管理的展望与未来
  • 中国建设网站创建一个网站的项目体现项目完成速度因素的
  • 成都网站制作怎么收费excel小程序商店下载
  • 网页制作与网站建设初学者必看教程解决做网站问题
  • 网站空间怎么买网站销售需要注册公司吗
  • 做网站方案软件开发网站开发学习
  • 传奇做网站temu跨境电商入驻流程
  • 云南省建设厅网站首页wordpress客户端5.5
  • 建站怎么赚钱简单网站设计
  • 网站开发技术教材大连网站建设仟亿科技
  • 国外素材设计欣赏网站宁夏建设厅官方网站
  • 深圳建设品牌网站网站开发外包合同模板
  • 网站建设费用明细湖南岚鸿云主机怎么装网站
  • 网站搭建谷歌seo昌大建设原名叫什么
  • 昆明优化网站wordpress禁止右键插件
  • 外贸官网建站网站扩展虚拟空间
  • 做装修的网站怎么做好系统软件开发定制