笔记来源: Java工程师面试突击专栏 https://apppukyptrl1086.pc.xiaoe-tech.com/detail/p_5d3114935b4d7_CEcL8yMS/6
Redis 分布式锁的缺点:
- RedLock 算法比较复杂, 而且依赖于Redis 集群 .
- 其他系统尝试获取锁的方式为每隔几秒去尝试获取锁, 可能会有很多无效的请求.
zk 分布式锁的优点:
- zk上锁的思路较为简单, 尝试去上锁, 如果失败就注册监听器, 如果其他系统释放锁, 就回调监听器的方法, 再次尝试获取锁, 直到上锁成功.
- 不需要像Redis那样轮询去获取锁, 而是注册一个监听器即可
- 如果使用 zk的临时顺序节点, 代码会更加优雅.