Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

能力矩阵

1 怎么用这张表

24 项能力分四组:判断(能不能识别问题)、设计(能不能写出契约)、实现(能不能落代码)、验证(能不能证明它有效)。每项给一个可观察的达标线;达不到就回到对应章节,不要用「大概懂了」糊过去。

自评等级:

  • 0 没听说过;
  • 1 能复述定义;
  • 2 能在给定场景下选对方案;
  • 3 能写出实现并解释失败路径;
  • 4 能设计验证实验并读出证据。

本书的目标不是让所有读者都到 4;第 2 篇到 3、第 5 篇到 3 是合理目标,负责 on-call 的读者应在第 9–11 章到 4。

2 判断

#能力达标线章节
J1区分超时、失败、未知给定一次 context deadline exceeded,能说出服务端可能处于哪三种状态1、2
J2识别重试放大给定重试次数与并发,能估算最坏请求放大倍数2、11
J3识别分区与分裂脑看到两个节点都认为自己是主,能列出至少三条证据3、9
J4判断一致性承诺给定一段读写历史,能判断是否线性一致,并指出反例4
J5区分一致性与隔离级别能解释「线性一致读」和「可串行化事务」不是同一件事4、6
J6判断投递语义看到「至少一次」能说出重复发生在哪一步、怎么去重7
J7判断缓存陈旧能列出 TTL、双写、失效失败三种导致旧值的路径8
J8判断锁是否安全能指出只靠 SET NX PX 的锁在 GC 停顿时为什么失效9
J9判断观测盲区能说出 trace 采样、指标聚合、日志重复各自的盲区10
J10判断过载还是依赖慢能根据队列长度、延迟分布、下游错误率区分两者11

3 设计

#能力达标线章节
D1写远程调用契约一份契约包含 deadline、重试条件、幂等键、错误码、背压信号2
D2设计幂等键能定义键的粒度、指纹、冲突策略、过期与回收2、12
D3选复制拓扑能根据 RPO/RTO、写延迟、冲突容忍度选主从/多主/无主3
D4写一致性契约明确读己之写、单调读、线性读分别用在哪些接口4
D5设计事务边界能判断哪些操作必须在一个事务里,哪些可以用 Saga/Outbox6
D6设计事件流能定义分区键、顺序保证、消费者幂等、重放策略7
D7设计缓存策略能给出 TTL、失效、击穿保护、热点 key 方案8
D8设计锁与选主锁带租约与 fencing;选主带 quorum 与降级路径9
D9设计观测每个关键路径有 RED 指标、trace、结构化日志与 SLO10
D10设计容量与演练有基线、梯度、headroom、爆炸半径与回滚11

4 实现

#能力达标线章节
I1实现带 deadline 的客户端超时后不把请求当成功;能取消在途请求2、12
I2实现幂等写入同一键重试只产生一次副作用;不同参数返回冲突12
I3实现去重表唯一约束 + 状态机 + 租约,崩溃后可恢复12
I4实现 quorum 读写3 副本、R+W>N,读修复可运行3、13
I5实现 Raft 选举term、投票、随机超时、日志新旧比较5、13
I6实现日志复制prevLogIndex/term 检查、冲突截断、提交推进5、13
I7实现线性一致读ReadIndex 或 lease read,能解释为什么需要心跳13
I8实现 MVCC 可见性能写出快照读的可见性判断6
I9实现消费者去重offset 提交与业务事务的原子性,或 outbox7、12
I10实现 fencing资源端校验单调 token,拒绝过期持有者9、13

5 验证

#能力达标线章节
V1故障注入能注入丢响应、重复、分区、进程暂停,并观察不变量11、12、13
V2一致性检查能写一个检查器,判断历史是否满足线性一致4、13
V3压测有基线、并发梯度、P50/P99、错误率、资源曲线11
V4观测排障能从 trace 找到最慢 span,从指标确认是否过载10、11

6 三条路线的达标组合

路线必须到 3 的能力必须到 2 的能力
后端D1、D2、I1、I2、I3J1、J2、D5、D7、V1
SREJ1、J3、J8、J9、J10、D8、D9、D10、V1、V4D3、D4、I7
存储J3、J4、J5、D3、D4、I4、I5、I6、I7、V2D5、D6、D10
自评怎么做

不要凭印象打分。每一项找一个你做过的事故/接口/实验作为证据;找不到证据的,最高只能打 2。把证据写在表格第三列(例如「2025-11 支付超时事故复盘」),半年后回来看是否还成立。

下一站:入学诊断——12 道题,测一测你现在处于哪一档。