Redis分布式锁实现的缺点:
1 锁删除失败 过期时间不好控制
1.1 释放锁之前宕机,suo 不能释放
1.2 增加过期时间,客户端未宕机(GC或业务处理超时) 被释放,导致两个进程后去锁
2非阻塞,操作失败后,需要轮询,占用cpu资源;
3、Redis非强一致性Zab协议,主从异步复制如果宕机,切换从服务器导致部分锁数据丢失,导致多个进程获取同一把锁
ZK分布式锁实现的缺点:
1、性能问题:性能不如redis实现,主要原因是写操作(获取锁释放锁)都需要在Leader上执行,然后同步到follower。高并发下 zk QPS不够
2、如果探测到宕机(实际为网络原因,FullGC等) 为误判,释放掉锁后被另一个进程拿到,导致两个进程拿到同一把锁,产生脑裂
总之,ZooKeeper有较好的性能和可靠性。
综合对比
从理解的难易程度角度(从低到高):数据库 > 缓存 > Zookeeper
(2)从实现的复杂性角度(从低到高):Zookeeper >= 缓存 > 数据库
(3)从性能角度(从高到低):缓存 > Zookeeper >= 数据库
(4)从可靠性角度(从高到低):Zookeeper > 缓存 > 数据库
用MySQL锁与Redis相同
使用RedLock问题
实际业务避免分布式锁,串行化,弱一致性等策略
若需要,对问题有补偿策略,保证最终一致性
文章转载自董源龙,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1301次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
735次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
530次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
457次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
407次阅读
2025-04-11 09:38:42
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
383次阅读
2025-03-21 10:34:08
天津市政府数据库框采结果公布!
通讯员
314次阅读
2025-04-10 12:32:35
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
311次阅读
2025-04-07 09:44:54
从HaloDB体验到国产数据库兼容性
多明戈教你玩狼人杀
268次阅读
2025-04-07 09:36:17
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
257次阅读
2025-04-14 09:40:20