这不是网页录屏。录屏得到的仍然是"一个网页在滚动",而这里把信息图的视觉语法重新实现了一遍 —— 竖版、无声、可独立转发,脱离作品也能自己成立。
更重要的是:画面里没有一个数字是手写上去的。所有参数、所有版本分界,都来自同一份被核验过的官方口径。
| 场景 | 时长 | 讲什么 |
|---|---|---|
| 开场 | 0:00–0:04 | 一个机制有五种讲法;静态图告诉你答案,动手做坏才能让你自己发现答案 |
| Multi-Raft | 0:04–0:11 | 日志复制与提交点推进;杀掉一个副本,写入照常成功 |
| Region 分裂 | 0:11–0:18 | 数据长大越过阈值,一个 Region 分裂成两个 |
| PD 调度 | 0:18–0:25 | 加一台 TiKV,分布从 4/4/4/0 自己收敛成 3/3/3/3 |
| 事务 2PC | 0:25–0:32 | prewrite 加锁、commit 清锁;写写冲突触发整体回滚 |
| 收尾 | 0:32–0:36 | 把机制画对只是及格线 —— 凭什么相信它是对的:取证卡 / 断言 / 真机实测 |
这部片子由 video/frames.html 按帧号渲染,再用 dev/make-video.py 逐帧截图合成。
每一帧的状态完全由帧号计算得出 —— 没有 CSS animation、没有随机数、不读系统时间。
这不是技术炫技,而是三个具体的好处:可复现(同一份源码任何时候重跑,结果逐像素一致)、 可回查(每个画面里的数字都能对应到核验清单里的条目)、可控(不必跟录制时序赛跑,也不会掉帧)。
片中的每一条口径都带角标,与其余形式共用同一份字典:256MiB 分裂阈值(v8.4.0 起)、 副本数默认 3、region-schedule-limit 默认 2048、 冲突检测发生在 prewrite 阶段、默认悲观事务自 v3.0.8 起。
片中同样刻意没有出现官方未公开的内容:store 负载打分的具体公式、PD 各调度器的逐项默认启用状态、 Leader 故障到新 Leader 就绪的端到端时长 —— 这三条在页面里都留了说明,视频里则一个字都不写。 因为"不敢写"这件事,本身就是这个作品最想传达的态度。