Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

etcd 锁和单实例 Redis 锁有什么差别?

查看完整题解

参考回答

直接回答

etcd 用一致性 KV 和租约协调锁的竞争。单实例 Redis 常用 SET key value NX PX 抢锁,再用所有者令牌核对后删除。

讲清原理

Redis 单实例加锁快,但异步复制下主节点刚返回成功就故障,新的主节点可能没有这条锁记录。etcd 写入走多数派确认,失去多数节点时,安全写入也会停下。

例子与易错点

两种锁都可能面对客户端停顿后继续写入的问题。向外部资源写入时附带单调递增的围栏令牌,并让资源拒绝过期持锁者的请求。

延伸阅读 etcd 的 Revision 在锁里能做什么? · etcd 分布式锁的核心步骤是什么? · etcd 锁和 Redis Redlock 怎么比较?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。