etcd 的 Revision 在锁里能做什么?
查看完整题解
参考回答
直接回答
锁竞争可按候选键的创建版本排序,版本小的先取得锁。锁持有者的版本还可用作围栏令牌,让受保护资源识别旧持有者。
讲清原理
版本是 KV 层的逻辑序号。同一次事务可能让多个键拥有同一个 revision,不能把所有键的版本当作彼此唯一的 ID。标准 mutex 用独立的候选键操作来组织顺序。
例子与易错点
A 的创建版本 12,B 得锁后是 17。存储记住已接受 17,A 恢复后带 12 的写入就会被拒绝。
延伸阅读 etcd 锁和单实例 Redis 锁有什么差别? · Version、CreateRevision、ModRevision 有什么区别? · etcd 怎样用 Revision 和 Watch 实现锁竞争?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。