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