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

etcd 的 Revision 在锁里能做什么?

查看完整题解

参考回答

直接回答

锁竞争可按候选键的创建版本排序,版本小的先取得锁。锁持有者的版本还可用作围栏令牌,让受保护资源识别旧持有者。

讲清原理

版本是 KV 层的逻辑序号。同一次事务可能让多个键拥有同一个 revision,不能把所有键的版本当作彼此唯一的 ID。标准 mutex 用独立的候选键操作来组织顺序。

例子与易错点

A 的创建版本 12,B 得锁后是 17。存储记住已接受 17,A 恢复后带 12 的写入就会被拒绝。

延伸阅读 etcd 锁和单实例 Redis 锁有什么差别? · Version、CreateRevision、ModRevision 有什么区别? · etcd 怎样用 Revision 和 Watch 实现锁竞争?

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

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