TiDB 内核解剖室 / 信息图系列 1024 TiDB AIGC 黑客松
01
MULTI-RAFT · 日志复制

三份日志,一次写入

一次写入要落在几个副本上才算数?TiDB 的答案是:多数派说了算。

多数派 · MAJORITY = 2 / 3 R1 · LEADER committed 写入发起方 落盘后推进提交点 R2 · FOLLOWER replicated 收到了这条日志 回执即为多数派之一 R3 · FOLLOWER unreachable 这个副本掉了 结果:写入照常成功 2s 2 / 3 落盘 → 提交,返回客户端 少一个副本,可用性不受影响 —— 这是 3 副本的取舍
默认值每个 Region 默认 3 个副本(1 Leader + 2 Follower),且同一 Region 的多副本不落在同一节点上。
机制Leader 每 2s 发一次心跳;无主后按 10 个 tick 触发选举,基准 tick 为 1s。
结果多数派落盘即提交 —— 所以任意 1 个副本失效,写入照常成功。
口径角标 · WHERE THE NUMBERS COME FROM
官方未给出「故障发生到新 Leader 就绪」的端到端时长 —— 所以这张图里一个秒数都不写,只呈现 tick 机制。
← 信息图系列 下载高清 PNG