技术架构方法论 · 第 6 课(结课)

综合演练:全流程架构 Kata

前五课的方法首尾相接就是一条完整流水线。这一课不教新东西——换一个全新题目,独立走完全程。

⏱ 演练约 45 分钟 📌 前置:第 1-5 课 🗺 方法论地图

流水线回顾

① 驱动因素          ② 候选架构           ③ 评审            ④ 文档
─────────          ─────────           ─────            ─────
ASR 反问     →     两个先决问题    →    场景轰炸     →    C4 上下文+容器图
3-7 个属性排序      风格三步法           敏感点/权衡点      ADR(含被否选项)
质量属性场景        允许混合/单体优先     风险+行动项        arc42 最小集 7 节
(第 1 课)        (第 2 课)          (第 3 课)       (第 4、5 课)
  

技术调研与选型(给流水线②供弹药)见独立课程《技术调研方法论》

热身:跨课快测

先凭记忆答题——检索练习比重读笔记的记忆效果好得多,答错再回对应课程。

1.(第 1 课)拿到一个新系统需求,方法论规定的第一步是?
2.(第 2 课)「约束」与「质量属性」的本质区别是?
3.(第 3/5 课)评审结束后的规定动作是?

结课 Kata:网约车派单平台

题目 · 全新场景,独立完成 公司要做一个城市级网约车平台:乘客发单,系统在数秒内从附近司机中派单;司机端每 3 秒上报一次位置;高峰期单城同时在线司机约 2 万、每分钟数千订单;派单要"快且不重"——同一订单不能派给两个司机;平台还需要事后分析派单效率以持续调优算法。监管要求行程数据保存 3 年且可审计。

按流水线独立完成以下产出(45 分钟,写在你自己的笔记里):

  1. ①驱动因素:3-5 个驱动属性排序(注意题目里埋了显性和隐性的都有);为第一名写一条可度量场景;单列约束。
  2. ②候选架构:回答两个先决问题(几个量子?数据拆不拆?);选风格(允许混合),3 句理由各引用一个驱动属性。
  3. ③自我评审:给自己的方案写 2 条场景式提问,标出 1 个权衡点、登记 2 个风险。
  4. ④文档:列出容器图的容器清单(不必真画);为最重大的那个取舍写一篇 Nygard 格式 ADR。
全部做完再看:自评清单 + 要点提示

先自评(比对答案更重要):

要点提示(非唯一解):驱动属性常见排序——低延迟派单(数秒内)、一致性(订单不重派)、可伸缩(位置流是持续高吞吐写入)、可审计(约束转化的属性)。典型混合方案:位置流走事件驱动通道(总线 + 时序/内存存储);派单裁定收进强一致核心(按城市/区域分片的单写入点——注意这里与拍卖题同构,但多了"按地理分片"这个新维度);行程落审计库(仅追加、3 年留存);分析侧独立离线链路,绝不与在线派单抢资源。

与拍卖题的同构性是刻意的:换了领域,方法不变——这正是方法论的意义。把你的四步产出贴回对话,我按自评清单逐项点评,这是结课作业。

结课之后

💬 结课作业、真实项目的方案评审、任何一课想深挖——随时回到对话里找我。

← 第 5 课:ADR 与 arc42 🎓 课程完结 · 方法论地图 · 术语表