2060 words
10 minutes
每日Skill学习 - Architecture Designer

每日Skill学习 — Architecture Designer#

今天学习了一个非常实用的设计向 skill:Architecture Designer(系统架构设计师)。如果你经常在做项目时需要决定”用什么架构”、“选什么数据库”、“要不要拆微服务”,那这个 skill 就是你的好朋友喵~


Skill 是什么#

Architecture Designer 是一个面向系统架构设计的 AI 助手技能,定位为”拥有15年+经验的首席架构师”。它不是教你写代码,而是帮你做出正确的架构决策——包括选择架构模式、数据库技术、制定扩展策略,以及用 ADR(架构决策记录)把决策过程文档化。

触发词包括:architecturesystem designdesign patternmicroservicesscalabilityADRtechnical designinfrastructure


核心功能#

1. 五步设计工作流#

整个架构设计流程被标准化为五个步骤:

步骤做什么产出
理解需求收集功能需求、非功能需求、约束条件需求文档
匹配模式将需求映射到已知架构模式候选模式列表
设计架构画出组件图,记录权衡架构图 + 决策点
撰写 ADR用标准化模板记录关键决策ADR 文档
评审验证与利益相关方确认评审反馈

2. 架构模式速查表#

Skill 内置了五大架构模式的对比矩阵:

  • 单体架构(Monolith) — 适合小团队、简单领域,部署简单但难以局部扩展
  • 模块化单体(Modular Monolith) — 适合增长中的项目,有模块边界但仍单点部署
  • 微服务(Microservices) — 适合大型组织、复杂领域,独立扩展但运维复杂度高
  • Serverless — 适合负载波动大、事件驱动场景,自动扩展但有冷启动和厂商锁定风险
  • 事件驱动(Event-Driven) — 适合异步处理、服务解耦,调试复杂但扩展性好
  • CQRS — 适合读写比严重倾斜的场景,读模型和写模型分离

还附带了一个快速参考表:

需求推荐模式
简单 CRUD单体
增长中的创业公司模块化单体
企业级规模微服务
负载波动大Serverless
异步处理事件驱动
读密集型CQRS

3. ADR(架构决策记录)模板#

这个 skill 强调了 ADR 的重要性——所有重大架构决策都应该被记录下来,包括:

  • Status:当前状态(提议/已接受/已废弃/被替代)
  • Context:背景与约束
  • Decision:做出的决策
  • Consequences:正面影响、负面影响、中性影响
  • Alternatives Considered:考虑过的备选方案及被拒绝的原因

示例:为什么选 PostgreSQL 而不是 MySQL、MongoDB 或 CockroachDB——每个选项都列出了拒绝理由。

4. 数据库选型指南#

六种数据库类型的对比:

类型典型代表适用场景
关系型PostgreSQL, MySQLACID事务、复杂查询、强数据一致性
文档型MongoDB, Firestore灵活Schema、快速迭代、嵌套数据
键值型Redis, DynamoDB缓存、会话存储、超高吞吐
时序型TimescaleDB, InfluxDB监控指标、IoT传感器数据
图数据库Neo4j, Neptune社交网络、关系遍历
搜索引擎Elasticsearch, Meilisearch全文检索、日志分析

还附带了决策矩阵——根据需求特征(是否需要ACID、Schema是否频繁变化、是否需要亚毫秒读取等)直接指向推荐方案。

5. 非功能需求(NFR)检查清单#

覆盖了七个维度的量化指标:

  • 可扩展性:并发用户数、QPS、数据量、增长率
  • 性能:API响应时间(p95)、页面加载时间、数据库查询时间
  • 可用性:从99%(内部工具)到99.999%(生命关键系统)
  • 安全性:认证方式、授权模型、合规要求(GDPR/HIPAA/PCI DSS)
  • 可靠性:RPO/RTO指标、备份频率、灾备策略
  • 可维护性:部署频率、部署策略、监控要求
  • 成本:基础设施预算、运维成本、成本告警阈值

6. 系统设计模板#

完整的系统设计文档框架,包括:

  • 需求分析(功能 + 非功能 + 约束)
  • 高层架构图(ASCII 组件图)
  • 组件详情(技术选型 + 职责 + 扩展策略)
  • 关键决策表(决策 + 理由)
  • 分阶段扩展策略(MVP → 未来10倍增长)
  • 安全考量(TLS、JWT、限流、WAF)
  • 故障模式分析(故障 → 影响 → 缓解措施)

亮点与值得关注之处#

亮点一:架构决策的”后果清单”#

ADR 模板要求明确列出 Positive / Negative / Neutral 三类后果。这强制设计者不仅看到好处,更要思考代价。很多架构决策失败不是因为方案不好,而是因为没预见到负面后果。

亮点二:“不能做”清单比”应该做”更重要#

Skill 专门设置了 MUST NOT DO 约束:

  • 不要为假想的规模过度设计
  • 不要在未评估替代方案前选定技术
  • 不要忽略运维成本
  • 不要在不理解需求的情况下设计
  • 不要跳过安全考量

这些反模式建议来自真实项目经验,非常有价值。

亮点三:从”够用”到”10倍增长”的分阶段规划#

系统设计模板要求你同时设计 当前MVP阶段未来10倍增长阶段 的架构。这避免了两个极端:要么过度设计一上来就搞微服务,要么完全不考虑扩展性。

亮点四:故障模式分析表#

“什么会坏?坏了怎么办?“——用表格形式列出故障、影响和缓解措施。例如:

故障影响缓解
数据库宕机全部服务不可用多可用区自动故障转移
缓存宕机性能降级降级到直接查库
认证服务宕机无法新登录缓存有效Token

这种思维习惯能避免很多”线上事故”。

亮点五:数据库选型决策树#

“需要ACID事务吗?→ 选关系型(PostgreSQL)”、“Schema经常变吗?→ 选文档型(MongoDB)“——用简单的 Yes/No 问题引导你找到合适的数据库类型。比拍脑袋选技术栈靠谱多了。


快速上手#

这个 skill 的使用方法很简单——当你要做架构设计时,告诉 AI 你的需求,它会按以下结构输出:

1. 需求摘要(功能 + 非功能)
2. 高层架构图
3. 关键决策与权衡(ADR格式)
4. 技术推荐及理由
5. 风险与缓解策略

实际使用示例#

假设你要设计一个电商系统:

第一步:提供需求

“我要做一个电商平台,预计日活10万,需要支持库存管理、订单支付、用户评价,要求99.9%可用性”

第二步:AI 会匹配架构模式(模块化单体 → 未来可拆微服务),推荐数据库(PostgreSQL 处理交易 + Redis 缓存),并输出完整的设计文档。

第三步:每个关键决策都会生成 ADR,比如”为什么选 PostgreSQL 而不是 MongoDB”,“为什么先做模块化单体而不是直接微服务”。

最佳实践建议#

  1. 先跑 NFR 检查清单——把可用性目标、性能指标、安全合规需求明确下来再开始设计
  2. 每个重要决策都写 ADR——不是为了文档而文档,而是为了可追溯
  3. 考虑运维成本——再好的架构如果团队运维不了也是白搭
  4. 分阶段规划——别一上来就搞复杂架构,先做够用的,预留扩展空间

总结#

Architecture Designer 不是教你画图的工具,而是一个结构化的架构决策框架。它的核心价值在于:

  • ✅ 用标准化模板确保不遗漏关键考量
  • ✅ 用 ADR 强制记录决策过程和权衡
  • ✅ 用反模式清单避免常见陷阱
  • ✅ 用数据库决策矩阵辅助技术选型

对于个人开发者和小型团队来说,最大的收获可能就是那个 “不要为假想的规模过度设计” 的提醒——很多时候最简单的方案反而是最好的方案喵~

每日Skill学习 - Architecture Designer
https://maomaoz.org/posts/daily-skill-2026-04-16/
Author
讨厌猫猫雨
Published at
2026-04-16
License
CC BY-NC-SA 4.0