etcd 的 MVCC 怎样保存历史版本?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
MVCC 为修改过的键保留版本,使读者可以查询某个 revision 当时的状态,Watch 也能补读历史中的变化。
讲清原理
etcd 用键索引找到相关 revision,再从后端存储取数据。全局 revision 随修改操作推进。保留的历史越多,占用空间越大,因此要做 compaction 清理超过保留窗口的旧版本。
例子与易错点
键先写入 A,随后变成 B,在旧 revision 尚未压缩时仍可读到 A。历史被压缩后,这种旧版本读取会返回错误。
延伸阅读 etcd Watch 怎么监听键变化? · Version、CreateRevision、ModRevision 有什么区别?
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。