83.4 学习路径索引

一句话

学习路径不是「从第 1 章读到第 83 章」,而是以你手上那个决策为起点,向前后各取三步;读完不产出,等于没读。

先选一种读法(三种别混着用)

读法 什么时候用 怎么走 产出 时间
查证式 手上正压着一个决策 用 83.1 术语表 统一词 → 目录的「一句话」选 3 篇 → 只精读这 3 篇 一页结论 + 两个备选 + 淘汰条件 2–4 小时
系统式 知道自己哪层虚,要补 L0 → L5 逐层走,每层 1 篇「主场」+ 2 篇「客场」 每层一张「我原来以为 / 实际是」对照表 4 周
面试式 有明确时间点 按岗位题单反查章节,每题准备「结论 + 数字 + 反例」 20 道题的答题卡 1–2 周

🔑 判据:你这次读,是为了做决定,还是为了知道? 为了知道,就只在系统式里读;其余两种读法都以「产出一个可被评审的东西」结束。

怎么查这本书

想找什么 用什么 说明
某个概念的主场 目录里的节标题 + 「一句话」 每节第一句就是结论,扫 20 条能定位 90%
某个词到底指什么 见 83.1 术语表 按「架构 / L0 / L1 / L2 / L3 / L4 / L5 / AI」分组
某个结论的出处 见 83.2 参考文献与经典论文 按「你手上的问题」组织,不按年份
某个能力该选什么 见 83.3 工具与产品清单 重点看「什么时候别用」那一列
某个架构该画成什么样 见 80.1 C4 模型、80.2 架构图规范 先定层级,再定元素

一、四阶段成长路径

每个阶段只回答一个问题:你现在能对什么负责? 读的章节服务于这个「负责范围」,不是服务于「知识完整」。

阶段 1:能交付(0–2 年)——「把这个需求正确实现」

项 内容
目标 能独立把一个需求做成可上线、可回滚、可观测的服务
必读 见 1.2 用户故事与用例 · 26.1 分层架构 · 26.2 依赖倒置 · 8.1 TCP/IP 与三次握手 · 8.3 连接复用与 TIME_WAIT · 44.7 SQL 与查询优化 · 41.3 缓存穿透 / 击穿 / 雪崩 · 35.5 超时、重试与退避 · 53.2 单元测试 · 53.3 集成测试
产出物 一个带超时/重试/幂等的接口 + 一组能跑在 CI 的测试
验收(能答出才算过) ① 这个接口超时该设几秒,依据是什么?② 重复请求进来,怎么保证只生效一次?③ 上线后出问题,你怎么在 5 分钟内知道?
常见卡点 只会写「正常路径」,没写过异常路径;把「测试通过」当质量

阶段 2:能设计(2–5 年)——「在约束下选出方案,并说清代价」

项 内容
目标 能独立出一个技术方案,含备选、数据、退出成本,并能被评审
必读 见 16.2 线性一致性 · 16.5 最终一致性 · 16.6 会话保证 · 19.1 分区键设计 · 24.9 事务模型选型 · 25.4 幂等设计与去重 · 34.1 性能指标 · 34.2 性能建模 · 35.6 熔断与降级 · 35.7 限流 (漏桶 / 令牌桶 / 滑动窗口 / 自适应) · 4.3 技术选型的评估维度 · 80.2 架构图规范
产出物 一份 3 页技术方案:问题 / 约束 / 3 个备选 / 打分 / 决定 / 退出成本
验收 ① 你的方案被否决时,最可能的原因是哪个假设?② 容量估算的每一步数字从哪来?③ 上线后要回滚,数据怎么办?
常见卡点 只给一个方案(无法比较);数字全靠感觉;没写「什么情况下这个方案会失败」

阶段 3:能负责(5–8 年)——「对一组系统的长期健康负责」

项 内容
目标 能定 SLO、管技术债、做演进路线,并让多个团队按同一边界协作
必读 见 36.4 两地三中心与多活 · 36.2 备份策略 · 38.8 零信任 · 39.3 存储分级 · 48.1 配置中心 · 48.6 产品 (etcd / Consul / ZooKeeper / Nacos) · 52.1 构建与缓存 · 55.1 发布策略 · 74.1 康威定律及其逆定律 · 10.4 快照与备份
产出物 一份季度架构路线图:3 个目标、对应指标、止损条件
验收 ① 你的 SLO 定成这个数,依据是用户还是成本?② 技术债清单里,哪三项今年不还就会出事?③ 团队边界改了,系统边界跟着改哪里?
常见卡点 只做「救火」不做「防火」;技术债只记不排期;把 SLO 当对外承诺

阶段 4:能定方向(8 年+)——「在不确定里下注,并为下注建组织能力」

项 内容
目标 判断「三年后什么会变」,并把资源、组织、技术债一起排进节奏
必读 见 4.1 技术投入的收益模型 · 4.2 成本-收益分析 · 5.2 部署模型 · 3.4 行业规范 · 74.1 康威定律及其逆定律 · 83.2 参考文献与经典论文 · 83.3 工具与产品清单
产出物 一页「技术下注书」:押什么、不押什么、验证点、退出条件
验收 ① 如果这个判断错了,最早在什么信号上能看出来?② 这个方向需要什么组织能力,我们现在缺哪一块?③ 不押的另一条路,代价是什么?
常见卡点 把「趋势」当「决策」;只谈技术不谈组织;没有退出条件

二、按角色的路径

角色 第 1 周(建立坐标系) 第 1 月(能干活) 长期(形成判断) 常翻的工具
后端工程师 见 83.1 术语表 的 L0/L1 两组 + 34.1 性能指标 见 8.3 连接复用与 TIME_WAIT、41.3 缓存穿透 / 击穿 / 雪崩、35.5 超时、重试与退避 26.x 分层与依赖、24.x 分布式事务 44.7、42.1
SRE / 平台工程 见 7.1 声明式 API 与控制器模式、6.1 容器与虚拟机的本质差异 见 35.4 故障检测、55.1 发布策略、48.2 服务发现 36.x 灾备、52.1 构建与缓存 83.3 的 L0 表
数据工程 44.1 存储引擎、46.4 CDC 见 44.13 主从复制与读写分离、44.14 分库分表 19.x 数据分区、44.18 向量数据库 83.3 的「数据与消息」表
AI 应用工程 见 83.1 术语表 第八组 + 83.3 工具与产品清单 2.4 RAG 链路(切分 → 召回 → 重排 → 引用)+ eval 集 50.9 OpenTelemetry 标准、25.4 幂等设计与去重(工具调用要幂等)、35.7 限流 (漏桶 / 令牌桶 / 滑动窗口 / 自适应)(token 预算) 83.3 的 AI 表
技术负责人 见 4.3 技术选型的评估维度、74.1 康威定律及其逆定律 见 55.1 发布策略、4.1 技术投入的收益模型 见 4.2 成本-收益分析、3.4 行业规范 83.2、83.3
面试冲刺 见 83.1 术语表 的「十个最容易说错的词」 16.x / 24.x / 34.x 三组的高频题 每题补一个「我踩过的坑」 83.4 第四节

三、按场景的最小知识包(10 个高频决策)

只读这几节就能开会——这是「最小知识包」的定义:不是学完,而是够用。

场景 先读这 5 节 为什么是这 5 节 开会时要能说出
单体要拆微服务 见 26.6 模块化与包设计、26.1 分层架构、25.4 幂等设计与去重、24.9 事务模型选型、74.1 康威定律及其逆定律 拆分的难点不是「怎么拆」,是「拆完事务和团队怎么办」 「我们先做模块化单体,按 X 边界切,满足 3 个信号再物理拆分」
要上 K8s 见 6.1 容器与虚拟机的本质差异、7.1 声明式 API 与控制器模式、5.1 服务模型、48.1 配置中心、55.1 发布策略 K8s 的收益在「声明式 + 自愈」,成本在「网络存储 + 学习曲线」 「我们的服务数、发布频率、值班能力是否撑得起一套控制面」
要做多活 见 16.2 线性一致性、16.6 会话保证、19.1 分区键设计、36.4 两地三中心与多活、37.4 读写分离 多活的本质是「数据冲突怎么收敛」,不是「机房怎么连」 「RTO/RPO 是多少;冲突是业务可合并,还是必须强一致」
要降 30% 云成本 见 39.3 存储分级、37.1 垂直扩展与水平扩展、34.4 优化手段、41.7 多级缓存、36.2 备份策略 成本大头通常是存储与闲置容量,不是 CPU 「成本能不能按团队归因;哪 3 项占 70%」
要接大模型做知识问答 见 83.1 术语表 第八组、83.3 工具与产品清单 2.4、41.3 缓存穿透 / 击穿 / 雪崩(语义缓存)、35.7 限流 (漏桶 / 令牌桶 / 滑动窗口 / 自适应)(token 预算)、50.3 链路(Trace / Span / 上下文传播 / 采样)(跨服务因果与耗时归属) 先用 eval 定义「答对」,再谈模型与向量库 「我们有 eval 集吗;幻觉怎么发现;单次问答成本多少」
要做 Agent 平台 见 83.1 术语表 第八组、25.4 幂等设计与去重、35.5 超时、重试与退避、24.5 Saga (编排 / 协同 / 补偿)、38.8 零信任 Agent 的失败模式就是分布式系统的失败模式:超时、重试、补偿、越权 「终止条件是什么;工具调用的权限边界在哪;失败后状态存在哪」
要做实时数仓 46.4 CDC、44.13 主从复制与读写分离、43.2 投递语义、44.14 分库分表、19.1 分区键设计 实时数仓的难点是「乱序 + 重复 + 回撤」,不是「选 Flink 还是 Spark」 「延迟要求多少;能接受 at-least-once 吗;回撤怎么处理」
要过等保 / 合规评审 见 3.4 行业规范、38.8 零信任、38.6 常见攻击、38.7 账号安全、10.4 快照与备份 合规是「别人替你写好的架构决策清单」 「日志留存多久;数据出不出境;谁能访问生产数据」
要治理发布事故 见 55.1 发布策略、35.4 故障检测、35.5 超时、重试与退避、53.1 测试金字塔、52.1 构建与缓存 发布事故的根因多在「兼容性 + 回滚不可行」,不在「测试不够」 「回滚要多久;数据库变更能不能回退;谁能一键停」
要带 30 人团队 见 74.1 康威定律及其逆定律、4.3 技术选型的评估维度、4.1 技术投入的收益模型、26.6 模块化与包设计、83.3 工具与产品清单 30 人之后,瓶颈从技术变成「边界与决策速度」 「团队边界与系统边界对不对齐;决策谁拍、多久拍一次」

四、12 周计划(每周 6–8 小时)

适合「有工程经验、要补架构」的人。每周必须有一个可评审的产出,否则不算完成。

周 主题 读 产出(可评审)
1 需求与约束 见 1.1 功能性需求与非功能性需求、1.2 用户故事与用例、3.4 行业规范 把你手上系统的 NFR 写成 6 条可度量指标
2 技术决策与 ROI 见 4.1 技术投入的收益模型、4.2 成本-收益分析、4.3 技术选型的评估维度 一页 ADR:一个真实的技术选择 + 两个备选
3 运行时底座 见 6.1 容器与虚拟机的本质差异、7.1 声明式 API 与控制器模式、5.1 服务模型 画出你系统的部署图,标出每一层的责任边界
4 网络与延迟 见 8.1 TCP/IP 与三次握手、8.2 拥塞控制、Nagle 与延迟、8.3 连接复用与 TIME_WAIT 用 RTT 数据算出一次请求的延迟预算分解
5 一致性与事务 见 16.2 线性一致性、16.5 最终一致性、24.9 事务模型选型 给现有 3 个跨服务流程各选一个事务模型并说明理由
6 幂等与分区 见 25.4 幂等设计与去重、19.1 分区键设计、19.4 一致性哈希 给一个接口设计去重键 + 写一张分区键对比表
7 架构风格 见 26.1 分层架构、26.2 依赖倒置、26.6 模块化与包设计 画出你系统的模块依赖图,标出 3 个违规依赖
8 性能 见 34.1 性能指标、34.2 性能建模、34.4 优化手段 一份容量估算:QPS、单实例能力、副本数、成本
9 可用性 见 35.6 熔断与降级、35.7 限流 (漏桶 / 令牌桶 / 滑动窗口 / 自适应)、35.5 超时、重试与退避 给核心链路画一张「超时/重试/熔断/限流」参数表
10 数据与缓存 见 41.3 缓存穿透 / 击穿 / 雪崩、41.7 多级缓存、44.14 分库分表 一份缓存与分片方案,含失效与迁移步骤
11 发布与观测 见 55.1 发布策略、53.1 测试金字塔、50.9 OpenTelemetry 标准 一份发布清单:灰度比例、回滚条件、观测指标
12 AI 原生与复盘 见 83.1 术语表 第八组、83.3 工具与产品清单 2.4、83.2 参考文献与经典论文 一个 AI 功能的 eval 集(20 条)+ 通过率门槛

💡 12 周不是硬性节奏。如果你在第 5 周就发现自己卡在「一致性」上,就在那里多停两周——路径是地图,不是时刻表。

五、验收:五级能力自评

「读完了」不是验收标准。用下面这张表给自己定级,升不上去的那一级,就是下一步该读的章节。

级别 判据 自测题(答不上就退回上一级)
L1 名词级 能说出这个词是什么 「幂等是什么?」
L2 解释级 能解释它解决什么问题、代价是什么 「为什么幂等这么难?代价是什么?」
L3 权衡级 能说出它和邻居的取舍,并给数字 「TCC 和 Saga 你怎么选?分界线的数字是什么?」
L4 决策级 能在约束下做决定,并写清退出条件 「预算只有 3 个人月,你选哪个?什么信号出现就停?」
L5 反例级 能举出它失效的真实案例,并说明为什么当时没发现 「你见过的 TCC 空回滚是怎么发生的?监控为什么没抓到?」

🔑 面试与评审的分水岭在 L3 → L4:L3 是「知道有取舍」,L4 是「敢在信息不全时下注,并为下注设止损」。L5 是「踩过并复盘过」。

六、三个实战作业(带验收标准)

作业 1:一页 ADR

项 要求
交付物 背景 / 3 个备选 / 评估维度与权重 / 决定 / 后果与退出成本,各不超过 5 行
评分点 ① 权重写在打分之前;② 每个备选都有「什么时候它更好」;③ 退出成本有数字(人月或迁移窗口)
常见不合格 只写一个方案;打分没有权重;没有「反面后果」

作业 2:容量估算

项 要求
交付物 峰值 QPS → 单实例能力(压测或推算)→ 副本数 → 冗余系数 → 机器数 → 月成本
评分点 ① 每一步都有来源(压测数据 / 官方基准 / 推导);② 明确写出「哪些假设最可能错」;③ 给出成本区间而非一个数
常见不合格 直接套「一台扛 1000 QPS」;忽略长尾与冗余;把平均值当峰值

作业 3:AI 功能验收

项 要求
交付物 20 条 eval(含 5 条「应该拒答」)+ 通过率门槛 + 失败归因分类 + 上线后的在线监控指标
评分点 ① 覆盖正常 / 边界 / 对抗 / 拒答四类;② 门槛是数字,且有依据;③ 失败能归因到「检索 / 生成 / 工具 / 解析」四层之一
常见不合格 只有 happy path;用「感觉不错」当验收;没有拒答题(模型必然硬答)

反模式

反模式 后果
收藏式学习(存 200 篇,读 3 篇) 产生「我知道」的错觉,决策时说不出依据
只读不写 没有产出物,就无法暴露「以为懂了」的地方
跳过 L1 直接学 K8s / 微服务 学到的是操作,不是判断;一遇故障就回到「重启试试」
只学 AI 不学分布式 Agent 的失败模式全是分布式问题:超时、重试、幂等、状态
追新不补基础 每年换一套名词,判断力不增长
用「读完」当验收 读书量与决策质量无关
按目录顺序通读 前 20 章读完就放弃;应带着问题跳读
学完不回到真实系统 知识停留在纸面,遇到真实约束就崩

自检

Q1 你只有 2 小时,要判断「我们该不该把单体拆成微服务」。请给出你的检索路径(不超过 4 步),并说明为什么不需要读完第 30 章。

▸ 答案:① 先用 83.1 术语表 校准「微服务 / 分布式单体 / 模块化单体」三个词,避免把「拆分」等同于「微服务」;② 读 26.6 模块化与包设计 拿到「边界怎么定」的判据;③ 读 24.9 事务模型选型 判断「拆完事务能否收敛」;④ 读 74.1 康威定律及其逆定律 判断团队能否跟上。不需要读完第 30 章,是因为当前决策的瓶颈不是「微服务怎么做」,而是「该不该拆」——前者是实施知识,后者是判断知识;顺序错了,读得越多越容易直接开拆。

Q2 有人说「我按 12 周计划读完了,但感觉什么也没学到」。请指出这个计划最可能被误用的地方,并给出修正。

▸ 答案:误用在把「读完」当成「完成」。计划里每周都要求「产出可评审物」,如果只是翻完章节没做产出,就等于只完成了 1/3。修正:① 每周只留一个产出,其余时间用来改这个产出;② 产出必须被一个真实的人(同事/评审)挑过毛病;③ 每两周做一次「回讲」——不看笔记讲 10 分钟,讲不顺的地方就是没懂。判据:能不能不用原文,把这一周的内容讲给一个外行听明白。

Q3 请用五级自评表判断:「我知道 CAP 是分区时在 C 和 A 之间取舍」属于哪一级?要到 L4 还缺什么?

▸ 答案:属于 L2(解释级)——能说清它解决什么问题。要到 L3,需要说出它和 PACELC 的差别、以及「平时在 L 与 C 之间取舍」的具体例子;要到 L4,需要在一个真实系统上做出决定并写清退出条件,例如「订单履约链路在分区时选 CP(拒绝写入),因为超卖资损大于短时不可用;停机超过 5 分钟转人工」——有选择、有数字、有止损才是 L4。

Q4 为什么「按角色路径」和「按场景路径」要分开?各自适合什么情况下用?

▸ 答案:角色路径是长期能力结构,回答「我这个岗位三年该长成什么样」,适合做季度/年度学习规划;场景路径是短期决策支持,回答「下周三的评审我怎么准备」,适合临时查证。混用的典型错误是:用角色路径的「完整」去应付一个具体决策(读了三周还没开会),或用场景路径的「够用」去替代长期积累(每次都临时抱佛脚,永远停在 L2)。

Q5 如果你只能记住这一节的一句话,应该记哪句?为什么?

▸ 答案:记「以你手上那个决策为起点,向前后各取三步」。因为它同时约束了三件事:起点是真实决策(不是目录第一页)、范围是三步(不是整本书)、方向是前后都要(向前补原理、向后看落地)。它把「学习」从「消费内容」改成了「解决约束下的问题」,而这正是架构能力的定义。

关联