分布式锁之面试回答思路

问题分析:
主要考察你对redis、redission、zk锁这块的知识点。
可以先从redis原生的分布式锁讲起,讲一下他的优缺点。
然后再讲redission实现分布式锁的原理和机制:
(1)加锁:在redis里设置hash数据结构,生存周期是30000毫秒
(2)维持加锁:代码里一直加锁,redis里的key会一直保持存活,后台每隔10秒的定时任务(watchdog)不断的检查,只要客户端还在加锁,就刷新key的生存周期为30000毫秒
(3)可重入锁:同一个线程可以多次加锁,就是在hash数据结构中将加锁次数累加1
(4)锁互斥:不同客户端,或者不同线程,尝试加锁陷入死循环等待
 
然后再讲一下zk锁,zk与redis做分布式锁的区别和优缺点
zk锁的znode结构和核心的watch监听器机制
 
这里顺便把zk锁的如何防止羊群效应的思想也讲一下
zk的zab协议的大概方案也讲一下
已经回答的很不错了

posted @ 2021-07-17 14:53  Wevila  阅读(149)  评论(0)    收藏  举报