关于redis和zookeeper的分布式锁在实际中的应用

关于redis和zookeeper的分布式锁在实际中的应用

学完之后,一直有疑问,就是redis和zookeeper在实现分布式锁时如何选择

所以研究了redis官网的Redlock算法,和Martin对Redlock算法所存在的一些问题

综合自己的理解,大致得出以下结论:
1. 如果应用追求性能、且能接受偶尔发生的锁失效所带来的后果,那么使用Redis即可,且无需实现Redlock

2. 如果应用追求很高的安全性,无法承受锁失效所带来的后果,那么即使实现了Redlock的Redis也无法保证
安全性,此时应该使用Zookeeper实现分布式锁,或者用数据库来做分布式锁

不知道这样的理解是否正确,也希望老师能分享一些在实际项目中如何选型的思路


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

redis和zookeeper的分布式锁都有封装好的方法,咱们自己写主要是加深理解。
后面会介绍redisson和curator,直接使用就可以了。
不过还是建议使用基于redis的分布式锁,开发人员对于redis的熟悉程度好于zookeeper

  • Mr_Raymond 提问者 #1
    老师,redisson和curator已经学了。 现在主要是看了Martin的文章 http://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html 里面详细描述了Redis在分布式锁上存在的安全隐患 我更想知道在实际项目中,是否如我所说: 基于Redis的分布式锁并不适合用来保证安全性高的应用,此时应考虑zookeeper或数据库来实现分布式锁
    2020-08-04 19:16:25
  • 凌波微步 回复 提问者 Mr_Raymond #2
    安全隐患的概率非常小,如果非要纠结的话,那就选择其他的吧
    2020-08-04 19:19:03
  • Mr_Raymond 提问者 回复 凌波微步 #3
    多谢老师,应该是要结合实际的需求来灵活选择,已经不纠结了
    2020-08-04 19:23:56
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师