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

主从一致性问题是什么?

单机模式下,服务器宕机会造成严重的后果,因此企业实际开发中往往是多台服务器集群模式。集群模式下分为主节点和从节点,主节点负责写操作,如增删改,从节点负责读操作,从主节点中读取数据,因此数据主要存在主节点。

主从同步不可避免存在延迟,这就会导致当Java应用向主节点发送获取锁的请求,主节点接收请求后,锁的信息存储到主节点,此时主从之间还没来得及同步,主节点发生宕机,redis的哨兵发现主节点宕机后会在剩余的从节点选择一个作为新的主节点,但此时新的主节点没有之前的锁,即之前设置的锁已失效,当新的线程发来请求,又可以获取到锁,两个线程就可能发生并发的问题,这就是分布式锁主从一致性问题。

Redisson的multiLock原理

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

相关推荐
电商API_1800790524723 分钟前
高可用采集架构:分布式定时抓取淘宝商品详情项目设计
大数据·分布式·架构·数据挖掘·网络爬虫
兰令水31 分钟前
leecodecode【回溯组合】【2026.6.5打卡-java版本】
java·开发语言
8Qi831 分钟前
LeetCode 518:零钱兑换 II(Coin Change II)—— 题解 ✅
java·算法·leetcode·动态规划·完全背包
cfm_291432 分钟前
SpringBoot整合RocketMQ极速实战
java·spring boot·后端
为爱停留33 分钟前
让智能体「记住」对话:Checkpoint 功能、持久化数据接口与 thread_id 详解
java·数据库·elasticsearch
Sylvia33.39 分钟前
2026世界杯全套数据API接入教程:WebSocket实时进球推送实例
java·网络·python·websocket·网络协议
linge_sun39 分钟前
SpringAI 功能体验之SQL智能助手:用自然语言查询数据库
java·人工智能·ai编程
想取一个与众不同的名字好难1 小时前
安卓设置亮度的时候,系统会在100%与0%反复横跳
android·java·开发语言
JAVA面经实录9171 小时前
SpringBoot3企业实战项目开发文档(完整版)
java·spring boot
heimeiyingwang1 小时前
【架构实战】线程池设计:高并发系统的资源管理艺术
分布式·架构