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

Redisson分布式锁主从一致性问题

主从一致性问题是什么?

单机模式下,服务器宕机会造成严重的后果,因此企业实际开发中往往是多台服务器集群模式。集群模式下分为主节点和从节点,主节点负责写操作,如增删改,从节点负责读操作,从主节点中读取数据,因此数据主要存在主节点。
主从同步不可避免存在延迟,这就会导致当Java应用向主节点发送获取锁的请求,主节点接收请求后,锁的信息存储到主节点,此时主从之间还没来得及同步,主节点发生宕机,redis的哨兵发现主节点宕机后会在剩余的从节点选择一个作为新的主节点,但此时新的主节点没有之前的锁,即之前设置的锁已失效,当新的线程发来请求,又可以获取到锁,两个线程就可能发生并发的问题,这就是分布式锁主从一致性问题。
在这里插入图片描述

Redisson的multiLock原理

为了解决这个问题,redission提出来了MutiLock锁,使用这把锁咱们就不使用主从了,每个节点的地位都是一样的, 这把锁加锁的逻辑需要写入到每一个主丛节点上,只有所有的服务器都写入成功,此时才是加锁成功,假设现在某个节点挂了,那么它去获得锁的时候,只要有一个节点拿不到,都不能算是加锁成功,就保证了加锁的可靠性。
在这里插入图片描述


http://www.kler.cn/news/316814.html

相关文章:

  • CentOS修改主机名
  • 【已解决】如何使用JAVA 语言实现二分查找-二分搜索折半查找【算法】手把手学会二分查找【数据结构与算法】
  • 用Qt 对接‌百度AI平台
  • 响应式流规范
  • 胤娲科技:谷歌DeepMind祭出蛋白质设计新AI——癌症治疗迎来曙光
  • DoppelGanger++:面向数据库重放的快速依赖关系图生成
  • JavaScript语法特点
  • linux 使用mdadm 创建raid0 nvme 磁盘
  • 深入理解SpringBoot(一)----SpringBoot的启动流程分析
  • 邮储银行:面向金融行业的移动应用安全风险监测案例
  • 【docker】命令之容器操作
  • C++:布尔类型,引用,堆区空间
  • 力扣232:用栈实现队列
  • 【Proteus仿真】基于51单片机的宠物喂食系统设计
  • JSON合并工具
  • JVM-类加载器的双亲委派模型详解
  • 前后端数据交互 笔记03(get和post方法)
  • 使用 Azure Functions 开发 Serverless 应用:详解与实战
  • LeetCode 1014. 最佳观光组合 一次遍历数组,时间复杂度O(n)
  • 【matlab】将程序打包为exe文件(matlab r2023a为例)
  • Linux文件IO(三)-Linux系统如何管理文件
  • 【基础知识】网络套接字编程
  • QT-MOC元对象系统详解
  • 【小程序】微信小程序课程 -1 安装与配置
  • 【2025】基于微信小程序的人工智能课程学习平台的设计与实现(源码+文档+解答)
  • 职业技能大赛-自动化测试笔记分享
  • while语句
  • CANdela/Diva系列8--如何生成0x27服务解锁的DLL
  • MySQL 数据库课程设计详解与操作示例
  • Java : 图书管理系统