返回架构笔记
Arch Day 30

Arch Day 30: 第一阶段总结 — 30天架构工具箱与能力画像

第一阶段(30天)的目标是建立架构师的基础能力模型——从架构思维、设计方法、质量属性到沟通影响力,形成一个完整的架构工具箱。今天的任务是盘点收获、识别短板、精炼面试答案、规划Phase 2的深入方向。

2026-04-29
第一阶段 - 架构基础
PhaseSummaryArchitectureToolboxCareerGrowthInterviewPrepSelfAssessment

日期: 2026-04-29 (Day 30) 阶段: 第一阶段 - 架构基础 标签: #PhaseSummary #ArchitectureToolbox #CareerGrowth #InterviewPrep #SelfAssessment


核心概念

一句话定义

第一阶段(30天)的目标是建立架构师的基础能力模型——从架构思维、设计方法、质量属性到沟通影响力,形成一个完整的架构工具箱。今天的任务是盘点收获、识别短板、精炼面试答案、规划Phase 2的深入方向。

30天回顾:四周主题

Week 1 (Day 1-7): 架构思维基础
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
从"架构是什么"到"架构怎么做"
├── 架构定义、架构师角色
├── 架构决策记录(ADR)
├── 质量属性(ATAM)
├── 约束与权衡
├── 领域驱动设计(DDD)概要
├── 架构模式概览
└── Week 1总结

Week 2 (Day 8-14): 架构模式深度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
从"知道有这些模式"到"知道何时用哪个"
├── 分层架构 & 六边形架构
├── 微服务设计原则
├── 事件驱动架构(EDA)
├── CQRS & Event Sourcing
├── Saga & 分布式事务
├── API设计(REST/gRPC/GraphQL)
└── Week 2总结

Week 3 (Day 15-21): 领域架构(金融+零售)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用领域知识驱动架构决策
├── 金融系统核心域建模
├── 支付系统架构
├── 风控引擎架构
├── 零售电商平台架构
├── 库存与订单系统
├── 数据架构(OLTP/OLAP/Data Mesh)
└── Week 3总结

Week 4 (Day 22-30): 架构表达与影响力
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
从"自己会"到"说服别人"
├── C4模型代码化(Structurizr DSL)
├── ArchiMate企业级建模
├── CBAM架构经济分析
├── 架构文档工程化(arc42/Fitness Functions)
├── 架构沟通术(Architecture Elevator)
├── 技术债量化与治理
├── 案例:蚂蚁金服架构演进
├── 案例:Stripe支付架构
└── 第一阶段总结(本文)

30天架构工具箱

方法论工具箱

工具用途何时使用学习Day
ADR记录架构决策每个重要决策Day 2
ATAM评估架构方案的质量属性方案评审Day 3
DDD领域建模、上下文划分系统设计初期Day 5
C4 Model架构可视化(四层缩放)所有项目Day 22
ArchiMate企业架构全景大型企业/EA治理Day 23
CBAM架构投资经济分析重大投资决策Day 24
arc42架构文档模板所有项目Day 25
SQALE技术债评估技术债治理Day 27
Architecture Elevator多受众沟通日常沟通Day 26

架构模式工具箱

模式适用场景金融适用度学习Day
分层架构通用业务系统★★★★★Day 8
六边形架构需要高可测试性★★★★Day 8
微服务大型系统独立扩展★★★★Day 9
事件驱动(EDA)异步解耦、事件溯源★★★★★Day 10
CQRS读写差异大的场景★★★★Day 11
Event Sourcing需要完整审计追溯★★★★★Day 11
Saga分布式长事务★★★★★Day 12
API Gateway统一入口/限流/鉴权★★★★★Day 13
单元化(LDC)金融级容灾/大规模★★★★★Day 28

技术工具箱

工具类别用途学习Day
Structurizr DSL架构可视化C4图代码化Day 22
Archi企业架构ArchiMate建模Day 23
ArchUnit架构守护自动化架构验证Day 25
dependency-cruiser架构守护JS/TS依赖分析Day 25
MkDocs文档Docs-as-Code站Day 25
SonarQube代码质量技术债基础度量Day 27
CodeScene行为分析热点+技术债分析Day 27

模板工具箱

模板用途学习Day
ADR模板记录架构决策Day 2
质量属性场景模板定义质量需求Day 3
arc42文档模板(7章精要)架构文档Day 25
CBAM分析模板架构投资分析Day 24
技术债评估模板技术债量化Day 27
多受众叙事模板架构沟通Day 26
架构分析文章模板案例分析Day 29

能力雷达图自评

六维能力模型

               业务架构
                 ★★★★☆
                  /|\
                 / | \
                /  |  \
     AI增强    /   |   \   软件架构
    ★★★☆☆   /    |    \   ★★★★☆
             /     |     \
            /      |      \
           /       |       \
          /        |        \
  沟通影响力 ──────+────── 金融领域
   ★★★★☆                  ★★★★★
          \        |        /
           \       |       /
            \      |      /
             \     |     /
              \    |    /
               \   |   /
                \  |  /
                 \ | /
               零售领域
                ★★★★☆

评分标准 (1-5):
★☆☆☆☆ = 入门(知道概念)
★★☆☆☆ = 初级(能讲出来)
★★★☆☆ = 中级(能使用)
★★★★☆ = 高级(能灵活运用+教别人)
★★★★★ = 精通(能创新+引领)

详细自评

能力维度自评依据Phase 2目标
业务架构★★★★☆能做DDD建模、上下文划分、业务流程分析补强EA治理实操
软件架构★★★★☆掌握核心模式、能做权衡分析、能做ADR深入云原生/分布式
金融领域★★★★★10年金融经验+支付/风控/清算架构理解保持优势
零售领域★★★★☆10年零售经验+电商/库存/订单架构理解补强供应链
AI增强★★★☆☆能用AI辅助设计/评审/生成深入AI架构+LLM
沟通影响力★★★★☆掌握多受众沟通、CBAM经济分析实战演练

30天核心ADR回顾

Phase 1中做出的所有架构决策记录:

ADR编号决策核心理由状态
ADR-001采用ADR记录架构决策可追溯、可审查、降低知识丢失已接受
ADR-002质量属性优先级排序可用性>安全>性能>可修改性已接受
ADR-003DDD战术设计模式聚合根+领域事件+值对象已接受
ADR-008六边形架构作为核心模式可测试性+端口适配灵活性已接受
ADR-010事件驱动解耦核心服务异步+弹性+独立演进已接受
ADR-012Saga管理分布式事务避免XA的性能问题+支持补偿已接受
ADR-022C4+Structurizr DSL可视化代码化+CI集成+版本控制已接受
ADR-023ArchiMate企业级建模规范EA治理+合规审计需求已接受
ADR-024架构投资经济分析流程CBAM量化决策价值已接受
ADR-025arc42+Docs-as-Code+FF文档工程化+自动守护已接受
ADR-026架构沟通多版本规范不同受众不同叙事已接受

Phase 1关键洞察Top 10

洞察1:架构决策的不可逆性

架构决策中最危险的不是"做了错误决策",而是"不知道哪些决策是不可逆的"。识别不可逆决策(数据库选型、通信协议、服务边界)并给予更多慎重,是架构师的核心能力。

洞察2:康威定律是最大的架构约束

系统架构反映组织结构。如果组织架构不变,架构改造大概率失败。推动架构变革的前提是推动组织变革——这需要比技术能力更强的"政治力"。

洞察3:金融行业的"正确性 > 性能"

金融系统和互联网系统的根本差异:互联网可以容忍偶尔的数据不一致(最终一致性),金融不行。资金差错的代价远大于系统慢一点的代价。

洞察4:技术债是金融术语

技术债的"本金""利息""偿还""违约"类比不是修辞手法,而是精确的经济模型。有金融背景的架构师在量化技术债方面有天然优势。

洞察5:API是产品

在平台经济中,API本身就是产品。Stripe证明了API设计质量可以成为核心竞争力。API设计不是技术细节,而是产品战略。

洞察6:简单是最难的架构

追求复杂是人的天性,保持简单需要刻意克制。Stripe用Ruby单体支撑$万亿支付量,蚂蚁的单元化用简单的分片逻辑解决复杂的容灾问题。最优秀的架构往往看起来"理所当然"。

洞察7:架构沟通 = 50%的架构能力

技术方案再好,推不动等于零。学会用CEO的语言讲ROI,用开发者的语言讲接口,用合规的语言讲控制措施——这是架构师的分水岭。

洞察8:Fitness Functions是架构守护者

架构文档写了没人看,架构约束口头说了没人遵守。只有自动化测试能真正守护架构——ArchUnit/dependency-cruiser是架构师最重要的工具之一。

洞察9:渐进式优于大爆炸

蚂蚁从PHP→Java→SOA→微服务→云原生,每步只解决当前最痛的问题。Stripe在需要时才拆微服务。"大爆炸重写"是最危险的决策。

洞察10:AI正在改变架构师的工作方式

AI能辅助生成C4图、评审ADR、估算技术债、模拟架构方案——架构师的工作正在从"手动做事"转向"指导AI做事"。掌握AI工具的架构师效率将是传统架构师的3-5倍。


30天面试题精选20道+答案

架构思维类(5道)

Q1: 什么是好的架构? 好的架构是在特定约束下,最好地满足质量属性需求的结构。没有"最好的架构",只有"最适合当前上下文的架构"。评价标准:可维护性、可扩展性、可靠性——以及在这三者之间的合理权衡。

Q2: ADR是什么?为什么需要? ADR(Architecture Decision Record)是记录重要架构决策的轻量级文档,包含背景、决策、理由和后果。价值:1)新人快速理解"为什么这样设计";2)避免重复讨论已决定的事项;3)决策可追溯可审计。

Q3: 如何处理架构中的权衡? ATAM方法:1)明确质量属性优先级(和stakeholder共同定义);2)列举候选方案;3)分析每个方案对各质量属性的影响;4)量化权衡(CBAM经济分析);5)记录决策和被否决方案(ADR)。

Q4: 什么时候该重构/重写? 用技术债经济模型判断:计算月利息和偿还成本,如果偿还成本 < 利息×预期使用年限×折现因子,则值得偿还。但几乎不应该"大爆炸重写"——分阶段渐进式改造,每阶段验证效果。

Q5: 如何推动架构变革? 四步法:1)找到痛感最强的盟友(团队);2)做小规模试点,拿到数据;3)用数据而非观点说服更多人;4)推动制度化。通常需要3-6个月,核心是建立信任而非一次性说服。

模式与设计类(5道)

Q6: 微服务的拆分原则是什么? 三个维度:1)业务能力边界(DDD限界上下文);2)数据所有权(每个服务拥有自己的数据);3)独立部署需求(需要独立发布节奏的模块)。反模式:按技术层拆分(API服务/DB服务/消息服务)。

Q7: 事件驱动架构的优缺点? 优点:解耦(生产者不知道消费者)、弹性(消费者故障不影响生产者)、可扩展(加消费者不改生产者)。缺点:最终一致性(不是立即一致)、调试困难(事件链追踪复杂)、事件Schema演进管理。金融场景需要补充Saga保证一致性。

Q8: CQRS何时使用? 当读写模式差异大时:读多写少(或反过来)、读写模型差异大、需要独立扩展读写能力。金融场景的典型应用:交易写入用关系型保证ACID,查询用ES/ClickHouse提供灵活检索。

Q9: Saga vs TCC vs 事务消息怎么选? TCC:强一致性、高性能、高侵入(核心资金链路)。Saga:最终一致性、低侵入、有补偿(长流程如贷款放款)。事务消息:最终一致性、低侵入、异步(通知、统计等非核心链路)。

Q10: API设计的核心原则? 1)一致性(命名、错误格式、分页统一);2)幂等性(所有写操作支持Idempotency Key);3)版本化(向后兼容,旧版本不下线);4)安全(认证/授权/输入验证/Rate Limiting);5)开发者体验(好的文档+SDK+错误信息)。

金融领域类(5道)

Q11: 金融系统的关键质量属性排序? 1)正确性(资金零差错)>2)可用性(7×24不间断)>3)安全性(合规+防攻击)>4)性能(满足SLA即可)>5)可修改性。和互联网系统最大的区别:正确性是绝对第一。

Q12: 蚂蚁金服单元化架构解决什么问题? 解决金融级容灾(30秒RTO)和线性扩展。核心思路:按用户ID分Zone,每个Zone自成闭环(App+DB+Cache),双活不浪费资源,Zone级切换实现秒级容灾。前提:业务可按用户ID分片。

Q13: 支付系统的幂等性如何实现? Idempotency Key机制:客户端每次请求携带唯一Key → 服务端检查是否已处理 → 已处理返回缓存结果 → 未处理执行并缓存。实现:Redis存Key状态 + 分布式锁防并发 + 24h过期。

Q14: 如何设计风控引擎架构? 分层设计:1)规则引擎(已知模式,毫秒级);2)ML模型(复杂模式,百毫秒级);3)人工审核(高风险交易)。关键:实时评分<500ms、可解释性(监管要求)、A/B测试能力、低误杀率。

Q15: 金融系统的灾备方案有哪些? 从低到高:冷备(手动切换,小时级)→ 温备(半自动,分钟级)→ 双活(自动切换,秒级)→ 单元化多活(蚂蚁LDC,秒级+线性扩展)。金融监管要求:核心系统RPO=0,RTO<30分钟。

沟通与影响力类(5道)

Q16: 如何量化架构决策的商业价值? CBAM方法:1)识别决策影响的质量属性;2)三点估算成本和收益;3)计算NPV/IRR;4)敏感性分析。关键是翻译——不说"性能提升",说"每月减少X万运维成本"。

Q17: 如何向非技术人员解释架构? 三步翻译法:1)识别受众的核心关切和KPI;2)用类比建立理解(微服务=独立店铺,技术债=信用卡利息);3)落到数字(从12周降到4周,年省X万)。

Q18: 如何让管理层重视技术债? 把技术语言翻译成财务语言:计算月利息(效率损失+故障成本+机会成本),和偿还成本对比做ROI分析。先卖恐惧(不还的代价),再卖希望(还了的收益)。

Q19: 架构文档如何保持最新? 三层防御:1)Docs-as-Code(和代码同仓库,PR同步更新);2)Living Documentation(API文档、依赖图从代码自动生成);3)Fitness Functions + 鲜度检查(CI自动验证+超期告警)。

Q20: C4 vs ArchiMate vs UML怎么选? C4:单系统多层视图,开发团队沟通,学习成本低。ArchiMate:企业全景,EA治理和合规。UML:复杂的序列图/状态机。实践中C4作为日常工具,ArchiMate作为企业治理工具,UML在需要时补充。


Phase 2需要补强的领域

优先级排序

领域当前水平重要性Phase 2重点
云原生架构★★☆★★★★★K8s/Service Mesh/Serverless深入
分布式系统★★★★★★★★CAP实战/一致性算法/分布式存储
AI架构★★☆★★★★★LLM部署/ML平台/AI Agent架构
安全架构★★★★★★★Zero Trust/加密方案/合规实操
性能工程★★★★★★★性能建模/容量规划/压测策略
数据架构★★★★★★★Data Mesh/Lake/Streaming深入
DevOps架构★★☆★★★Platform Engineering/IaC
Web3架构★★☆★★★和Web3学习计划协同

Phase 2预览

Phase 2: 深入实践 (Day 31-60)

Week 5 (Day 31-37): 云原生深度
├── Kubernetes架构原理
├── Service Mesh (Istio/Linkerd)
├── Serverless架构
├── 云原生数据库
├── GitOps & Platform Engineering
├── 混沌工程
└── 案例:Netflix云原生实践

Week 6 (Day 38-44): 分布式系统
├── CAP/PACELC深入
├── 一致性算法(Raft/Paxos)
├── 分布式存储架构
├── 分布式缓存策略
├── 分布式搜索(ES架构)
├── 分布式追踪与可观测性
└── 案例:Google基础设施论文

Week 7 (Day 45-51): AI架构 + 安全
├── LLM部署架构(推理/微调)
├── ML平台架构(MLOps)
├── AI Agent架构设计
├── Zero Trust安全架构
├── 加密方案设计
├── 合规架构(GDPR/个保法)
└── 案例:OpenAI基础设施

Week 8 (Day 52-60): 性能+实战
├── 性能建模方法论
├── 容量规划
├── 全链路压测
├── 技术文章写作实战
├── 简历/Portfolio准备
├── Mock面试
├── 案例:自选系统设计
├── 案例:自选架构分析
└── Phase 2总结

Week 4总结

本周核心收获

Week 4的主题是"从自己会到说服别人",这是架构师职业发展的分水岭:

初级架构师: 能设计好的架构方案
   ↓
中级架构师: 能用文档和图表清晰地表达架构
   ↓
高级架构师: 能用不同受众的语言推动架构落地
   ↓
资深架构师: 能用经济语言量化架构价值,影响组织决策

本周我们从"画图工具"(C4/ArchiMate)到"沟通框架"(Architecture Elevator)到"经济分析"(CBAM/技术债量化),完成了这个能力跃迁。

本周ADR清单

ADR决策关键权衡
ADR-022C4+Structurizr DSL自动化 vs 布局控制
ADR-023ArchiMate建模规范建模深度 vs 维护成本
ADR-024架构投资分析流程分析精度 vs 分析成本
ADR-025arc42+Docs-as-Code+FF文档完整性 vs 维护负担
ADR-026多版本叙事规范沟通效率 vs 准备成本

本周最重要的一个认知

架构师的核心交付物不是代码,不是文档,而是"决策"。

好的架构师做好的决策,然后用文档记录它(ADR),用图表可视化它(C4),用数字证明它(CBAM),用故事推动它(Architecture Elevator)。所有工具和方法论最终都服务于一个目的:做对的决策,并让决策落地


AI增强实践:30天回顾

Phase 1中AI的应用总结

AI应用场景效果评估推荐度
生成C4/架构图初稿★★★★ 好的起点但需修改推荐
ADR审查和优化★★★★★ 能发现遗漏的考量强推
技术债估算辅助★★★ 量级正确但需校准推荐
多版本叙事生成★★★★ 框架很好需要人调整推荐
面试题答案优化★★★★★ 角度全面逻辑清晰强推
案例分析深化★★★★ 能补充背景和对比推荐
代码示例生成★★★★ 需要验证正确性推荐

AI在架构工作中的最佳实践

DO:
├── 用AI生成初稿,人审查修改
├── 用AI做"第二双眼睛"审查方案
├── 用AI扩展思考维度("还有什么我没想到的?")
├── 用AI加速文档和图表生成
└── 用AI模拟不同受众的反应

DON'T:
├── 不要直接用AI输出作为最终方案
├── 不要依赖AI做关键架构决策
├── 不要忽略AI的事实性错误
├── 不要用AI替代和团队的讨论
└── 不要用AI回避自己的深度思考

与Web3/DeFi的关联:30天回顾

架构知识在Web3中的应用映射

架构概念Web3/DeFi应用
DDD限界上下文DeFi协议的模块边界(Router/Pool/Governance)
事件驱动链上Event + Subgraph索引
CQRS链上写(交易) + 链下读(Subgraph/Dune)
Saga跨链交易的补偿模式
API版本化智能合约升级策略(Proxy Pattern)
幂等性交易Nonce + 防重放
技术债智能合约的不可变性→技术债永久化
单元化Layer2分片
Fitness Functions合约安全检查(Slither/Mythril)

今日思考

思考题1:30天最大的认知转变

回顾这30天,你对"架构"的理解和Day 1相比有什么变化?最大的认知转变是什么?

思考题2:你的差异化优势

作为有10年金融零售经验+系统架构知识的人,你和"纯技术背景架构师"以及"纯业务背景PM"相比,独特优势是什么?你如何在求职中展现这个优势?

思考题3:Phase 2最期待什么

看了Phase 2的预览,你最期待哪个主题?为什么?这和你的职业规划有什么关联?


学习资源(Phase 1 Top 10 必读)

排序资源为什么推荐
1Fundamentals of Software Architecture (Richards/Ford)架构基础教科书
2The Software Architect Elevator (Hohpe)架构沟通术
3Building Evolutionary Architecture (Ford)Fitness Functions
4c4model.comC4可视化
5Martin Fowler的Bliki架构思想
6Stripe Engineering Blog金融架构标杆
7SOFAStack GitHub金融级开源架构
8Managing Technical Debt (Kruchten)技术债管理
9Domain-Driven Design (Evans)DDD经典
10arc42.org架构文档模板

Phase 2预告

Day 31: Kubernetes架构原理 — Phase 2的第一天,我们将深入云原生的核心:Kubernetes。从架构师视角理解K8s——不是学运维命令,而是理解它的架构设计思想:声明式API、Controller模式、调和循环(Reconciliation Loop)。这些设计模式不仅适用于容器编排,更是分布式系统设计的通用智慧。


结语

30天,从"架构是什么"到"如何用经济语言推动架构变革",从C4图到蚂蚁/Stripe案例分析。这不是终点,而是一个扎实的起点。

你现在拥有了:

  • 一套完整的架构方法论工具箱
  • 20道面试题的深度答案
  • 2篇架构案例分析
  • 对金融+零售架构的系统性理解
  • AI辅助架构工作的实践经验

Phase 2,我们继续深入。