1当五年 CRUD 老兵遇上架构评审:断层如何暴露
某电商后端团队核心成员平均五年经验。日常交付稳定:Controller–Service–Mapper 三层清晰, 单元测试覆盖率达标,Code Review 能指出 N+1 查询与事务边界问题。 产品提出「订单履约链路要支持多渠道、部分取消、跨仓调拨」,Tech Lead 在评审会上问小组长三个问题:
(1)订单、库存、履约三个域的一致性边界怎么划? (2)现有单体里 47 张表、312 个接口,拆分优先级依据是什么? (3)若选最终一致,业务可接受的补偿窗口是多少秒?
小组长能复述 Spring Cloud 组件清单,能画微服务参考架构图,但三个问题都停在「看情况」。 追问「为什么订单取消与库存释放不能放在同一库事务里」,回答变成「微服务规范要求拆分」—— 无法回到业务不变量与资损边界。
会后反馈很典型:「写 CRUD 没问题,一碰到架构决策就断层。」 更棘手的是:团队把断层归因于「经验不够」,计划让该同学「多接触 Kafka、ES、K8s」—— 三个月后再评审,组件 Demo 增加了,三个问题仍答不上来。 本文把这类现象称为CRUD → 架构断层:实现熟练区与架构决策区之间缺少可训练的四项能力。
版本说明:能力模型与语言无关,示例以 Java/Spring 生态为主因本系列读者画像; 阶段判据与产出物定义适用于多数互联网后端团队。 团队规模按 50–500 人、业务复杂度中高抽象;小团队可降维使用,超大厂可按子域拆分。 本文拒绝两种无效叙事:把某位架构师履历当模板照搬;以及「保持学习、拥抱变化」式空话。
阅读前提:你已能独立交付模块级功能,并读过本系列至少三篇专题(如 T06 Kafka、T13 分布式事务、T10 可靠性)。 本文 50% 篇幅用于能力地图与阶段框架(体系架构),40% 用于训练模板与对照表(框架训练), 10% 留给复合现场。目标读者为 P6-P7+ 工程师及 Tech Lead,用于自评、Mentor 辅导与晋升材料对齐。
Melvin Conway 提出:组织沟通结构会反映到系统设计结构中(Conway's Law)。 后续研究(如 Microsoft 2015 年对 Copilot 相关组织的实证)表明, 架构边界与团队边界不一致时,集成成本与变更失败率系统性升高。 架构师成长不仅是个人技能,还包含让系统边界与协作边界对齐的判断力。 来源:Conway 1968;相关实证见 IEEE Software 等公开文献。
1.1 断层区的四项缺失能力
CRUD 熟练不等于架构就绪。多数五年工程师停在「实现层」,是因为训练路径从未覆盖断层区的四项能力: 问题定义(从业务现象反推约束)、边界划分(域与一致性边界)、 权衡决策(备选方案与拒绝理由)、失效设计(事前 FMEA 而非事后救火)。 缺任一项,评审结论要么不可执行,要么上线后在事故里补洞。
1.2 与「多写 Demo」的边界区分
| 维度 | 组件 Demo 学习(不足够) | 架构能力训练(目标) |
|---|---|---|
| 知识形态 | 组件 API 与配置 | 决策级:边界、权衡、失效窗口 |
| 验证方式 | 本地跑通 | 评审通过 + 生产观测 + ADR 被引用 |
| 时间尺度 | 数天 | 季度级域深耕 + 事故复盘沉淀 |
| 典型产出 | 示例仓库 | 域说明、SLO、演进路线图 |
1.3 评审室里的三个问题,各自考验什么
回到开篇复合场景的三个问题,它们分别对应断层区四项能力中的三项,可作为 Mentor 提问模板: 「一致性边界怎么划」考验边界划分——能否从订单取消、跨仓调拨、渠道差异等业务规则推出哪些状态变更必须同库或同聚合; 「拆分优先级依据是什么」考验问题定义——能否把「312 个接口」降维成「哪三条链路承载 80% 资损风险」; 「补偿窗口多少秒」考验权衡决策——能否给出数字并说明拒绝更短窗口的成本(同步链、全局锁、TC 瓶颈)。 若三者均答「看情况」,说明尚未建立从业务 invariant 到架构参数的翻译链——这与 T13 分布式事务篇强调的「需求翻译」是同一技能在不同评审场景下的复用。
Tech Lead 在复盘里常犯的另一错误,是把断层归因于「缺少大厂背景」或「没做过亿级流量」。 亿级流量经验提供的是样本量,不自动提供决策框架。 未经历过亿级峰值但能在中小流量下写清 ADR、画清失败流的工程师, 往往比「经历过多次事故却从未书面沉淀」的十年老兵更接近 L3。 成长路径的设计目标,是让后者通过训练补齐断层,而不是等待下一次事故。
2断层的四个结构性根因:不是态度,是训练路径
评审失败后,团队常见反应有三类:加大需求交付压力(「多做项目就会了」)、 安排更多中间件培训、或等待「更有经验的人」空降拍板。 三类反应都回避了同一事实:断层是训练路径缺失的结构性问题,不是个人态度问题。 下面四个根因在本系列多个专题的复盘里反复出现——T13 分布式事务误选、T12 秒杀超卖、T04 JVM 混诊—— 背后往往是同一个人在断层区缺少「问题定义」或「失效设计」。
| 断层表现 | 结构性根因 | 常见误判解法 | 有效补强 |
|---|---|---|---|
| 只会实现需求,不会定义问题 | 长期接收已拆好任务,缺少从业务现象反推架构约束的训练 | 多写几种中间件 Demo | 参与需求澄清;写 invariant 表;做 premortem |
| 能画参考架构,给不出本域方案 | 知识停留在组件级而非决策级,缺少权衡与边界意识 | 再考一张云厂商认证 | 强制方案对比表;ADR 模板;本域链路三线图 |
| 排查单点故障行,设计容错体系不行 | 经验来自事后修复,未建立事前失效模式清单 | 等大促出事再学 | FMEA 简表;故障注入演练;T10 可靠性四件套 |
| 技术讨论热烈,评审结论不可追溯 | 缺少 ADR 习惯,判断力无法沉淀与传承 | 换更权威的人拍板 | 架构委员会 + ADR 仓库;决策回滚条件写入文档 |
能说出 Kafka、ES、Redis、K8s、Seata 不等于能在本业务下论证「为什么这里用 Outbox、那里用 TCC」。 判断标准:随机抽取一个生产决策,能否在十五分钟内讲清备选方案、拒绝理由、回滚条件三要素。 讲不清,仍在断层区——再多 Demo 也只是扩大「知道的名字」集合,不扩大「能负责的决策域」。
2.1 年限论为何失效
「五年经验」不是 L2 的充分条件。工作年限只影响遇到问题的样本量, 不自动兑换层级。判据只看产出物:有没有独立负责的链路、写过的通过评审的方案、 主导过的域决策且 ADR 在六个月后仍被引用。 《凤凰架构》强调演进式架构——能力应体现在可度量的演进记录里,而非简历形容词。
2.2 组织侧放大器
即使个人开始补强断层能力,组织若只奖励「快交付」、不奖励「写 ADR、做域划分」, 断层会在团队层面固化:每个人都很忙,没有人对边界负责。 L3 架构师的一项核心职责,是让「划界、写决策、做演练」进入绩效与晋升语言—— 否则断层区会被永久外包给「Consultant 式」外部顾问,知识无法内化。
2.3 从个人断层到团队模式:两类反模式
团队层面常见两类反模式,会系统性复制断层: 英雄式架构师——所有重大决策由一人口头拍板,无 ADR,其他人只执行 CRUD; 该架构师离职后决策能力瞬间蒸发。 委员会式空谈——架构评审会变成组件名词竞赛,无 invariant、无拒绝理由、无回滚条件, 结论停留在「再调研一下 Kafka/Flink/Pulsar」。 健康形态是分布式判断力:L3 负责域边界与 ADR 质量,L2 负责链路级方案, L1 负责实现但在 CR 中被要求说明「这次改动影响哪条失败流」—— 让断层区训练嵌入日常工程活动,而非集中在一门「架构师培训课程」。
李运华在《从零开始学架构》中强调「合适优于先进」—— 对成长路径而言,「合适」首先指与当前层级匹配的训练动作: L1 强行学 L4 治理规范会消化不良;L2 仍只刷 LeetCode 而不写方案则永远过不了隐藏关卡。 断层区训练必须略高于当前层级半个台阶,而非跨两阶跳跃。
3技术 / 业务 / 判断力:三维能力地图
架构师能力不是一维「深度」或「广度」,而是三个正交维度构成的立体地图。 每一维有层级 L1–L4 与可验证产出。缺任何一维,都会出现「技术很强但方案落不了地」 或「业务很懂但一压测就垮」的偏科。 周志明在《凤凰架构》中将架构工作描述为在约束下做演进式决策—— 三维地图即是把这种决策分解为可自检的坐标系。
3.1 维度一:技术深度与系统观
技术维不是「会多少框架」,而是从机制到体系的四级阶梯: L1 实现(单组件正确性与性能)→ L2 集成(多组件契约、超时、幂等)→ L3 体系(限界上下文、一致性谱系、可观测与容灾,对应本系列 T06–T16 主题簇)→ L4 演进(技术债量化、迁移路径、双轨运行与下线策略)。 技术维最低合格线:在白板上画出某条核心链路的数据流、控制流、失败流, 并标注每个跨边界点的一致性级别与超时预算。画不出失败流,说明仍在 L1–L2 之间。
3.2 维度二:业务架构与领域理解
业务维解决「技术为谁服务、边界在哪」: L1 需求翻译 → L2 规则抽象(不变量与扩展点)→ L3 域划分(限界上下文与上下文映射)→ L4 战略对齐(架构演进与商业节奏匹配)。 自检问题:能否在不看代码的情况下,用业务语言向产品经理解释 「为什么订单取消和库存释放不能放在同一数据库事务里」? 解释若依赖业务规则(跨仓调拨、渠道差异)而非「微服务规范如此」,则至少 L2–L3。 李运华《从零开始学架构》与 Evans《领域驱动设计》对域划分有互补表述—— 前者偏工程落地 checklist,后者偏战略设计词汇表。
3.3 维度三:架构判断力与决策质量
判断力是前两维的乘数:L1 模式识别 → L2 权衡分析 → L3 约束推导 → L4 组织设计。 同样深度的技术,L3 约束推导能力可将方案空间从「十个组件任选」收敛到「两个可行选项」; 缺乏判断力则讨论永远停留在名词列举阶段。
3.4 三维偏科症状与验证
| 偏科类型 | 典型症状 | 验证方式 | 补强动作 |
|---|---|---|---|
| 技术强、业务弱 | 方案过度设计,产品听不懂,排期失控 | 让产品复述方案价值,复述失败则未达标 | 事件风暴;域词汇表;参与需求澄清 |
| 业务强、技术弱 | 逻辑正确但压测就垮,故障难定位 | 核心链路压测 + 故障注入,有无降级预案 | 本系列 T09–T12;建立 SLO 与容量模型 |
| 双强、判断力弱 | 讨论热闹,方案频繁推翻,无 ADR | 抽查过去三个决策是否有书面权衡记录 | 强制 ADR;premortem;架构委员会评审 |
推荐每季度选一个真实域做三维体检:技术维画链路三线图,业务维写一页域说明, 判断力维补一篇 ADR。不要同时开太多域——一个域做透比五个域浅尝更能推动 L2→L3 跃迁。 这与《凤凰架构》「演进式架构」一致:能力证明来自持续小步可验证的决策记录,而非一次性「架构重构」。
4L1–L4 阶段训练框架:角色、判据与隐藏关卡
能力地图需要训练路径才能落地。L1–L4 不是公司职级名称的简单映射, 而是职责性质的四阶变化:从写对 → 写稳 → 划域 → 治理。 每一阶有第三方可验证的晋级判据;「需辅助」项超过 30% 则不应晋级。
| 阶段 | 角色定位 | 核心任务 | 晋级判据(满足 ≥80%) |
|---|---|---|---|
| L1 可靠实现者 | 高级开发 / 核心开发 | 高质量交付单域功能;单点排障 | 独立负责模块;P99 达标;CR 有效反馈;MTTR 在团队均值内 |
| L2 子系统负责人 | Tech Lead / 小组长 | 端到端链路;跨模块协调;技术方案编写 | ≥2 份通过评审的技术方案;主导中等规模发布;能教 L1 排查链路 |
| L3 域架构师 | 架构师 / Staff Engineer | 域边界、一致性策略、演进路线 | 主导域拆分/合并并落地;建立域内 SLO;ADR 被后续项目引用 |
| L4 平台 / 总架构 | 首席架构师 / 架构委员会 | 多域治理、标准、组织对齐 | 跨域技术债路线图;治理规范被 ≥3 团队采用;复盘推动体系改进 |
4.1 L1 → L2:从「写对」到「写稳」
跃迁关键不是学新框架,而是建立链路意识。训练清单: (1)接口预算——每个对外接口定义 P99 预算与依赖超时链; (2)幂等与重试——所有写接口默认问:重复调用会怎样?超时重试安全吗? (3)可观测最小集——traceId、核心业务指标、错误分级日志; (4)方案写作——按固定模板写技术方案,至少两个备选与拒绝理由。 隐藏关卡:第一次有人因为你的文档而少踩一次坑——这比「多会一种中间件」更能证明 L2 资格。
4.2 L2 → L3:从「子系统」到「域」
断层最密集阶段。训练聚焦边界与一致性: 对目标域做至少一轮事件风暴;对每个跨边界写操作明确一致性级别并写入 ADR; 按链路列 FMEA 简表;任何「推倒重来」必须附带分阶段迁移与双轨验证窗口。 L3 分水岭是决策被后续项目引用:六个月后 ADR 仍被新同事翻阅, 域边界在大促中经受流量冲击而未被临时打破。
4.3 L3 → L4:从「域」到「治理」
L4 职责从「把某个域做好」变为「让多个域可持续演进」。 核心产出:跨域集成标准(API 版本、事件 schema、共享库政策); 技术雷达(采纳 / 试验 / 暂缓 / 禁止);架构健康度指标进管理层周报 (变更失败率、技术债工时占比、跨域 incident 数量)。 张开涛《亿级流量网站架构核心技术》中的「分层」与「治理」章节,可作为 L4 容量与治理词汇参考—— 但需结合本组织规模裁剪,不可照搬大厂全量规范。
4.4 技术方案模板(L1→L2 必练)
框架训练层交付一份可复制的方案骨架,每份方案必须包含以下章节,缺一则评审不应通过: 背景与问题定义(业务现象可量化);目标与非目标(非目标防止范围蔓延); 方案对比(至少两个备选,从延迟、一致性、复杂度、运维成本四维填表); 推荐方案与拒绝理由(拒绝理由必须可验证,如「方案 B 在峰值下行锁等待超过 SLA」); 风险与回滚(上线开关、灰度策略、指标阈值触发回滚)。 许多 L1 工程师的第一份方案常犯的错误,是只有「推荐方案」而无对比—— 这无法证明判断力,只能证明「我会实现某一种写法」。
L2→L3 阶段应在方案之上叠加域级附件:域说明摘要、相关 ADR 链接、 三线图中本次改动影响的失败流片段、以及 premortem 列出的 top-3 惨败场景。 当方案、域说明、ADR、三线图四者互相引用时,L3 的「决策被后续项目引用」才有载体—— 否则 ADR 与方案各写各的,六个月后无人能找到「当时为什么这样拆」。
5技术维深耕:从系列专题到体系化知识栈
本系列十九篇专题构成技术维 L3 的模块化知识栈。 架构师不应「每篇都浅读」,而应按当前负责域选簇深耕: JVM 簇(T01–T05)保障运行时稳定;消息与搜索簇(T06–T09)保障数据管道; 可靠性簇(T10–T12)保障峰值与一致性边界;架构模式簇(T13–T16)保障跨域协作; 算法与大促簇(T17–T19)保障容量与稳定性工程化。 成长路径不是线性刷完二十篇,而是以域问题为索引反向查阅。
| 主题簇 | 系列篇目 | 技术维层级 | 典型产出物 |
|---|---|---|---|
| 运行时 | T01–T05 OOM/GC/内存/排查/云原生 JVM | L2–L3 | JVM 检查表、容器配额配比 SOP |
| 数据管道 | T06–T09 Kafka/ES/可观测 | L2–L3 | 可靠性检查表、索引与 ILM 策略 |
| 可靠性 | T10–T12 熔断缓存秒杀 | L3 | 降级矩阵、秒杀上线检查表 |
| 架构模式 | T13–T16 事务/微服务/多活/SCA | L3–L4 | ADR、单元化方案、控制面变更纪律 |
| 容量算法 | T17–T19 算法/性能/大促 | L2–L3 | 容量模型、大促演练检查表 |
5.1 链路三线图训练法
技术维自检的核心练习是链路三线图:选一条负责的核心写链路, 在同一页画出数据流(实体如何跨存储移动)、控制流(同步/异步、重试、熔断点)、 失败流(每个组件失效时的降级与对账路径)。 周志明在《凤凰架构》故障分析章节强调:画不出失败流的架构图只是「 happy path 装饰」。 三线图应进入域说明附件,并在每次重大变更后更新——与代码同源维护。
5.2 技术债与演进记录
L4 演进能力要求技术债可量化:不是「代码很乱」,而是「变更失败率 12%、 跨域 incident 中 40% 与订单域耦合有关(合成示例)」。 每季度更新域内技术债条目:影响面、 remediation 成本、不做时的风险增量。 这与演进式架构(Evolutionary Architecture)的「适应度函数」思想一致—— 用可观测指标定义「架构仍健康」而非主观感觉。
5.3 按负责域选读:三条示例路径
成长路径不应要求线性读完 T01–T19,而应按域选簇: 若负责交易与履约,优先 T13 分布式事务、T12 秒杀、T10 可靠性、T06 Kafka,再补 T01 OOM(支付链 JVM 调优); 若负责平台与中间件,优先 T16 SCA、T09 可观测、T07 Kafka 容灾、T08 ES,再补 T15 多活; 若负责稳定性与大促,优先 T19 大促、T11 缓存、T04 JVM 排查、T17 算法工程化。 每读完一篇,输出半页映射笔记:「本篇 invariant / 失败窗口 / 检查表 → 如何改我负责域的 ADR 或 runbook」—— 无映射笔记的阅读不计入成长清单验收。
《深入理解 Java 虚拟机》对 T01–T05 是根基读物;非 Java 栈工程师可替换为对应运行时深入资料, 但「运行时机制 → 容量与故障模型」这一层不可跳过—— 否则会在 T05 云原生 JVM 与 T19 大促容量章节出现理解断层。
6业务架构落地:不变量、域边界与战略对齐
业务维是很多后端工程师最忽视的一维——误以为「产品给 PRD、我实现即可」。 架构师在业务维的最低贡献是把口语需求翻译成可测试 invariant, 并在域边界上标注哪些 invariant 必须强一致、哪些可最终一致 + 对账。 T13 分布式事务篇的「需求翻译表」即是业务维 L2–L3 的标准动作。
6.1 事件风暴与域说明
对目标域做事件风暴(Event Storming):识别聚合、命令、领域事件、读模型与外部系统。 产出一页域说明——包含核心名词定义、上下文映射(ACL/OHS/Partnership)、 以及「本域不负责什么」(非目标与边界外责任)。 域说明应让产品经理能签字确认「业务语义无误」,而非仅给开发看。
推荐:先 invariant 后选型
- 列出资损相关 invariant(库存 ≥ 0、支付对账差分为 0)
- 标注每个 invariant 的可接受延迟窗口
- 再映射到一致性机制(单库 / Outbox / TCC)
- 拒绝「先选微服务再拆表」的反向流程
避免:参考架构驱动业务
- 因「行业标准是微服务」而拆域
- invariant 未定义就上分布式事务
- 把临时促销规则写进核心聚合
- 域边界随组织政治摇摆无 ADR
6.2 L4 战略对齐:何时平台化、何时还债
业务维 L4 要求架构演进与商业节奏匹配:大促前冻结域边界、优先容量与可靠性; 淡季推进技术债与平台化;融资或业务扩张期可能允许「有意识的耦合」以换速度—— 但必须有 ADR 标注触发重新评估的条件(如订单量跨数量级、合规新规)。 这不是妥协主义,而是把「临时方案」与「永久架构」区分写入治理语言。
| 商业节奏 | 架构优先级 | 应冻结的变更 | 可推进的变更 |
|---|---|---|---|
| 大促前 6–8 周 | 容量、降级、演练 | 域拆分、schema 大改 | 开关、限流参数、缓存预热 |
| 大促后 2–4 周 | 复盘、债项入库 | 无 ADR 的重构 | incident 驱动的 targeted fix |
| 业务淡季 | 演进、平台化 | —— | 双轨迁移、域合并评估 |
| 新业务线 0→1 | 速度 + 显式耦合 | 过度提前平台化 | 有期限的「单体优先」ADR |
7架构判断力:ADR、约束推导与组织设计
判断力维是将技术维与业务维乘起来的系数。 L2 权衡分析要求至少两个可行方案并从延迟、一致性、成本、运维复杂度四维打分; L3 约束推导则从 SLA、合规、团队技能等硬约束出发先排除不可行域再选型; L4 组织设计则主动运用康威定律——让团队边界与系统边界同构或可管理的异构。
7.1 ADR 最小模板
Architecture Decision Record 不是形式主义,而是断层区「权衡决策」的标准产出物。 最小字段:背景与问题定义;决策;备选方案与拒绝理由;后果与回滚触发条件;状态(提议/通过/废弃)。 一篇合格 ADR 应能在十五分钟内被陌生人读懂「为什么当时这样选、什么条件下应推翻」。 团队应维护 ADR 索引,并与设计评审、变更工单关联。
多个团队的生产经验(非统计结论):ADR 在六个月后仍被引用的比例,是 L3 晋升讨论中 比「参与过多少项目」更有 discriminant 的信号。 存活率低的常见原因:写成了「我们选了 Kafka」(无拒绝理由)、未标注回滚条件、 或与实际代码/配置不一致——架构委员会应拒绝通过此类 ADR。 建议每域至少保留 5 篇「活 ADR」,季度 review 标记废弃与 supersede 关系。
7.2 premortem 与 FMEA
失效设计的前置练习是 premortem:假设方案上线三个月后惨败,团队反推最可能原因; 与 FMEA 简表(组件、失效模式、影响、检测、缓解)结合,可补齐「只会 happy path 设计」的短板。 T10 可靠性篇的四件套(熔断、限流、降级、重试)应出现在 FMEA 的「缓解」列,而非事后补丁。
8阶段能力对照:我现在在哪一层?
验证层回答:我现在在哪一层?下一层差什么? 以下对照表按维度 × 阶段展开,用于自评或 Mentor 辅导。 每项用「能 / 不能 / 需辅助」三档;「需辅助」超过 30% 则不应晋级。 建议打印或在绩效季填写,与晋升材料中的产出物链接交叉验证。
8.1 技术维阶段对照
| 能力项 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|
| 单接口性能优化 | 能 | 能 | 能(指导) | 能(定标准) |
| 跨服务链路排障 | 需辅助 | 能 | 能 | 能 |
| 一致性机制选型 | 不能 | 需辅助 | 能 | 能 |
| 域级容灾与多活 | 不能 | 不能 | 需辅助 | 能 |
| 跨域技术债路线图 | 不能 | 不能 | 需辅助 | 能 |
8.2 业务维与判断力维对照(节选)
| 能力项 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|
| PRD → 表结构 | 能 | 能 | 能 | 能 |
| 识别业务 invariant | 需辅助 | 能 | 能 | 能 |
| 限界上下文划分 | 不能 | 需辅助 | 能 | 能 |
| 方案对比 ≥2 备选 | 需辅助 | 能 | 能 | 能 |
| 书面 ADR 与回滚条件 | 不能 | 需辅助 | 能 | 能 |
| 架构与组织边界对齐 | 不能 | 不能 | 需辅助 | 能 |
8.3 晋级 red flag
以下任一出现,建议暂停晋级并回到断层区训练: 从未独立写过通过评审的技术方案;负责链路无 SLO 或无 on-call runbook; 最近一次域相关决策无 ADR;promotion packet 仅列举技术名词无产出物链接; 无法在白板十五分钟内讲清负责域的三线图中失败流。 Mentor 辅导时应聚焦 red flag 对应的单项训练,而非「再多做一个项目」。
8.4 自评工作表:如何填写
建议每半年填写一次自评工作表:对第 8.1、8.2 节每个能力项标记能 / 不能 / 需辅助; 统计「需辅助」占比;超过 30% 则当前层级认定应保守,并列出占比最高的三项作为下季度训练目标。 将工作表与产出物链接一并存入个人成长档案——例如「跨服务链路排障:需辅助」对应动作 「跟 L2 完成两次 on-call 并写 postmortem」;「限界上下文划分:不能」对应 「参加订单域事件风暴并起草域说明 v0.1」。 晋升答辩时不应重复填表,而应展示上次填表以来三项 red flag 的关闭记录—— 这是比「我又做了五个需求」更有说服力的层级证据。
对照表还可用于团队人才盘点:若某团队 L2 工程师 80% 在「一致性机制选型」仍为不能或需辅助, 说明团队集体卡在 L2→L3 断层——此时应组织域级训练(事件风暴、T13 共读), 而非单独派一人参加外部架构师认证培训。验证层的价值在于发现系统性断层,而非给个人贴标签。
9成长路径清单、检查表与延伸阅读
本篇最后交付可执行的成长路径清单——按 L1→L4 排列,每项有频率与验收标准。 清单不是「读完二十本书」,而是与三维地图绑定的最小可验证动作集。 与开头复合场景呼应:若小组长在下一次评审前完成 L2→L3 清单中的前四项, 三个「看情况」问题应能收敛为「有 ADR 的、带拒绝理由的、带补偿窗口数字的」具体答案。
9.1 按阶段的最小行动集
| 阶段跃迁 | 行动 | 验收标准 | 建议频率 |
|---|---|---|---|
| L1→L2 | 为负责链路补全三线图 + 接口超时预算 | 团队评审通过;on-call 引用 | 一次性 + 季度更新 |
| L1→L2 | 写 2 份含方案对比的技术方案 | 评审记录可查;含非目标 | 半年内完成 |
| L2→L3 | 对单域做事件风暴 + 域说明 | 产品签字确认语义 | 每域一次 |
| L2→L3 | 跨边界写操作一致性 ADR 全覆盖 | ≥3 篇活 ADR;含回滚条件 | 季度 review |
| L2→L3 | 核心链路故障注入或 premortem | 演练报告;FMEA 更新 | 每半年 |
| L3→L4 | 发布跨域集成标准或技术雷达 | ≥3 团队采纳 | 年度 + 季度更新 |
| 各层 | 深度阅读本系列与域相关 3 篇专题 | 输出一页「专题→本域」映射 | 按需 |
| 各层 | Mentor:辅导 L1 完成链路级排障 | 被辅导人可独立闭环 | 每季度 |
| L3+ | 记录一次「可行但拒绝」的技术决策 | ADR 标注拒绝理由与约束 | 每半年 |
9.2 架构师成长检查表
| 检查项 | 标准 | 责任人 |
|---|---|---|
| 断层区四项能力 | 问题定义 / 边界 / 权衡 / 失效均有书面练习 | 个人 + Mentor |
| 三维体检 | 每季度至少一域完成三线图 + 域说明 + ADR | 域架构师 |
| 阶段对照 | 自评「需辅助」项 < 30% 方申请晋级 | 个人 + TL |
| ADR 治理 | 活 ADR ≥5/域;supersede 关系清晰 | 架构委员会 |
| 系列专题映射 | 负责域关联 T 篇有阅读笔记与产出链接 | 个人 |
| 拒绝清单 | 至少一篇「可行但拒绝」决策记录 | L3+ |
| 大促/峰值纪律 | 战略对齐表纳入发布日历 | 域架构师 + PM |
| 组织对齐 | 域边界与团队边界差异有 documented 管理策略 | L4 / 委员会 |
9.3 首年季度节奏(示例)
若你当前判定处于 L1–L2 断层区,可按以下节奏启动(可随组织调整): Q1:选定负责域,完成三线图 v1 + 接口超时预算表;读 3 篇系列专题并各写映射笔记; Q2:提交 1 份含双方案对比的技术方案并通过评审;对核心写链路补 observability 最小集; Q3:参与或主导一次 premortem / 故障注入;更新三线图失败流; Q4:完成三维体检(域说明 + ADR + 自评工作表);与 Mentor 对照第 8 章 red flag。 若已处于 L2→L3,将 Q1–Q2 替换为事件风暴与一致性 ADR 全覆盖,Q3–Q4 替换为演练与跨团队 ADR review。 节奏的关键是每季度至少一件可展示产出,避免「学了一年没有 artifact」。
架构师成长没有捷径,但有地图。地图的价值不在于激励,而在于当你再次坐在评审室里被问 「为什么这样拆、为什么不那样做」时,能打开 ADR,指着约束和权衡说: 这是当时条件下的最佳决定;若触发条件变了,这是重新评估的信号。 本系列二十篇从 JVM 到大促稳定性,再到本篇成长路径—— 希望读者带走的不是组件清单,而是可复用的决策框架与可验证的训练节奏。 开篇复合场景里的小组长,若按本篇清单执行四个季度,应能在下一次履约域评审中 给出带数字的补偿窗口、带拒绝理由的拆分顺序、以及带 invariant 引用的一致性边界—— 那就是断层区被填平的可观察信号。
9.3 延伸阅读
- BOOK周志明《凤凰架构》—— 演进式架构、分布式谱系、故障与治理(本系列 T13–T16 核心参考)
- BOOK李运华《从零开始学架构》—— 架构要素、复杂度与合适原则(业务维 L2–L3)
- BOOK张开涛《亿级流量网站架构核心技术》—— 分层、缓存、消息、治理(技术维 L3–L4)
- BOOK周志明《深入理解 Java 虚拟机》—— 运行时机制(本系列 T01–T05 根基)
- BOOK李运华《Spring Cloud Alibaba 微服务原理与实战》—— 控制面落地(T16 配套)
- BOOKEvans《领域驱动设计》—— 限界上下文与战略设计(业务维 L3 词汇表)
- BOOK《labuladong 的算法笔记》—— 算法工程化思维(T17 配套)
- SERIES本系列 T01–T19 专题索引 ——
tech-articles/architect-series/index.html - DOCMichael Nygard · Documenting Architecture Decisions —— ADR 原文
- DOCThoughtWorks Technology Radar —— 技术雷达方法论