redlock的大佬互撕 & 观后感

本文介绍了Redis分布式锁Redlock引发的业界大佬Martin Kleppmann和Redis作者Antirez之间的讨论。Martin认为Redlock因网络延迟等问题可能导致不准确性,并建议使用Zookeeper;而Antirez反驳称Redlock已有防止重复的随机数token,并计划改进时钟问题。最终,作者在观后感中倾向于在实际应用中采用Zookeeper作为分布式锁解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

相信看这个的人都了解一些通过redis实现的锁,基本原理这里就不在讨论了,随便一百度,应该有很多。基于redis实现分布式锁有个很著名的算法叫做redlock,有名的原因在于引起了分布式系统的大佬和redis作者的“热烈讨论”。

原文

Martin Kleppmann 的质疑贴
Antirez 的反击贴

各自观点

Martin的观点

由于网络的延迟、客户端系统的处理延迟(如gc)、机器时钟滞后的影响,锁依然会出现不准确性,具体看下图。
来自质疑贴
对于这个问题可以通过fencing token来解决,例如:
t1 : client1 申请的锁具有token:10
t2: 在client1超时的情况下client2申请的锁具有token:11
t3:client1在写入storage的时候,storage系统根据token检查发现token10已经失效,会拒绝数据写入
而redlock并没有此机制,强烈依赖时间延迟方面的假设,不能作为严格的分布式锁使用,建议采用zookeeper来使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值