WAL 如何保证 etcd 数据能够恢复?
查看完整题解
参考回答
直接回答
WAL 是写前日志。Raft 条目与关键状态要按协议要求持久化,故障后节点从快照与 WAL 恢复状态。正式完成写仍需满足集群提交条件。
讲清原理
先把可重放的信息写到稳定存储,后更新状态,能处理进程在两步之间崩溃。日志里可能有未提交条目,恢复时不能把每条都当作完成写。
例子与易错点
从磁盘找到了某条提案,只能说明节点记录过它。判断业务是否写入,仍需看提交状态和恢复后的 KV 查询。
延伸阅读 etcd 怎么用 Raft 保证写入的强一致性? · Raft Snapshot 如何压缩日志,和备份有什么区别? · etcd 快照如何备份与恢复?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。