etcd 锁和单实例 Redis 锁有什么差别?
查看完整题解
参考回答
直接回答
etcd 用一致性 KV 和租约协调锁的竞争。单实例 Redis 常用 SET key value NX PX 抢锁,再用所有者令牌核对后删除。
讲清原理
Redis 单实例加锁快,但异步复制下主节点刚返回成功就故障,新的主节点可能没有这条锁记录。etcd 写入走多数派确认,失去多数节点时,安全写入也会停下。
例子与易错点
两种锁都可能面对客户端停顿后继续写入的问题。向外部资源写入时附带单调递增的围栏令牌,并让资源拒绝过期持锁者的请求。
延伸阅读 etcd 的 Revision 在锁里能做什么? · etcd 分布式锁的核心步骤是什么? · etcd 锁和 Redis Redlock 怎么比较?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。