name: 软件架构设计 description: 用于设计系统架构、在单体/微服务/无服务器之间选择、规划可扩展性或做出技术决策时使用。涵盖微服务、事件驱动、CQRS、模块化单体、分布式系统以及生产级软件的可靠性模式。
软件架构设计 — 快速参考
将此技能用于系统级设计决策,而非单个服务或组件内的实现细节。
快速参考
| 任务 | 模式/工具 | 关键资源 | 何时使用 |
|---|---|---|---|
| 选择架构风格 | 分层、微服务、事件驱动、无服务器 | modern-patterns.md | 绿地项目、重大重构 |
| 设计可扩展性 | 负载均衡、缓存、分片、读副本 | scalability-reliability-guide.md | 高流量系统、性能目标 |
| 确保弹性 | 熔断器、重试、隔离舱、优雅降级 | modern-patterns.md | 分布式系统、外部依赖 |
| 记录决策 | 架构决策记录(ADR) | adr-template.md | 重大技术决策、权衡分析 |
| 定义服务边界 | 领域驱动设计(DDD)、有界上下文 | microservices-template.md | 微服务分解 |
| 建模数据一致性 | ACID vs BASE、事件溯源、CQRS、Saga模式 | event-driven-template.md | 多服务事务 |
| 规划可观测性 | SLI/SLO/SLA、分布式追踪、指标、日志 | architecture-blueprint.md | 生产就绪 |
何时使用此技能
在以下情况调用:
- 系统分解:决定单体、模块化单体、微服务
- 架构模式:事件驱动、CQRS、分层、六边形、无服务器
- 数据架构:一致性模型、分片、复制、CQRS模式
- 可扩展性设计:负载均衡、缓存策略、数据库扩展
- 弹性模式:熔断器、重试、隔离舱、优雅降级
- API合同:服务边界、版本控制、集成模式
- 架构决策:ADR、权衡分析、技术选择
何时不使用此技能
对于以下情况,使用其他技能:
- 单服务实现(路由、控制器、业务逻辑)→ software-backend
- API端点设计(REST约定、GraphQL架构)→ dev-api-design
- 安全实现(认证、加密、OWASP)→ software-security-appsec
- 前端组件架构 → software-frontend
- 数据库查询优化 → data-sql-optimization
决策树:选择架构模式
项目需求:[新系统或重大重构]
├─ 单团队、演进领域?
│ ├─ 从简单开始 → 模块化单体(清晰模块边界)
│ └─ 需要快速迭代 → 分层架构
│
├─ 多团队、清晰有界上下文?
│ ├─ 独立部署关键 → 微服务
│ └─ 共享数据模型 → 带服务模块的模块化单体
│
├─ 事件驱动工作流?
│ ├─ 异步处理 → 事件驱动架构(Kafka、队列)
│ └─ 复杂状态机 → Saga模式 + 事件溯源
│
├─ 可变/不可预测负载?
│ ├─ 按使用付费模型 → 无服务器(AWS Lambda、Cloudflare Workers)
│ └─ 批处理 → 无服务器 + 队列
│
└─ 高一致性要求?
├─ 强ACID保证 → 单体或模块化单体
└─ 分布式数据 → CQRS + 事件溯源
决策因素:
- 团队规模阈值:<10开发者 → 模块化单体通常优于微服务(运维开销)
- 团队结构(康威定律)— 架构反映组织结构
- 部署独立需求
- 一致性 vs 可用性权衡(CAP定理)
- 运维成熟度(监控、编排)
详见 references/modern-patterns.md 获取详细模式描述。
工作流程(系统级)
当用户请求架构推荐、分解或重大平台决策时使用此工作流程。
- 澄清:问题陈述、非目标、约束、成功指标
- 捕获质量属性:可用性、延迟、吞吐量、持久性、一致性、安全性、合规性、成本
- 提出2–3个候选架构并比较权衡
- 定义边界:有界上下文、所有权、API/事件、集成合同
- 决定数据策略:存储、一致性模型、架构演进、迁移
- 设计运维:SLO、故障模式、可观测性、部署、灾难恢复、事件预案
- 记录决策:为关键权衡和不可逆选择编写ADR
首选交付物(根据请求选择):
- 架构蓝图:
assets/planning/architecture-blueprint.md - 决策记录:
assets/planning/adr-template.md - 模式深度探讨:
references/modern-patterns.md,references/scalability-reliability-guide.md
2026年考量(仅在相关时加载)
对于生态系统敏感问题(当前供应商约束、变化的最佳实践),使用 data/sources.json 作为起始索引:
- 2026年趋势概览:
references/architecture-trends-2026.md - 平台工程 / IDP:
.platform_engineering_2026 - 数据网格和分析架构:
.scalability_reliability(数据网格条目) - AI原生系统(RAG、代理、MCP/A2A):
.optional_ai_architecture
如果无法获取新鲜网络访问,则基于已知最佳模式回答,并明确说明假设。
导航
核心资源
- references/modern-patterns.md — 10个当代架构模式及决策树(微服务、事件驱动、无服务器、CQRS、模块化单体、服务网格、边缘计算)
- references/scalability-reliability-guide.md — CAP定理、数据库扩展、缓存策略、熔断器、SRE模式、可观测性
- references/architecture-trends-2026.md — 平台工程、数据网格、AI原生系统(仅在相关时加载)
- data/sources.json — 60个精选外部资源(AWS、Azure、Google Cloud、Martin Fowler、microservices.io、SRE书籍、多代理模式、MCP/A2A协议、平台工程2026)
模板
规划与文档 (assets/planning/):
- assets/planning/architecture-blueprint.md — 服务蓝图模板(依赖项、SLA、数据流、弹性、安全性、可观测性)
- assets/planning/adr-template.md — 架构决策记录(ADR),用于记录设计决策及权衡分析
架构模式 (assets/patterns/):
- assets/patterns/microservices-template.md — 完整微服务设计模板(API合同、弹性、部署、测试、成本优化)
- assets/patterns/event-driven-template.md — 事件驱动架构模板(事件模式、Saga模式、事件溯源、架构演进)
运维与可扩展性 (assets/operations/):
- assets/operations/scalability-checklist.md — 全面可扩展性检查清单(数据库扩展、缓存、负载测试、自动扩展、灾难恢复)
相关技能
实现细节:
- …/software-backend/SKILL.md — 后端工程、API实现、数据层
- …/software-frontend/SKILL.md — 前端架构、微前端、状态管理
- …/dev-api-design/SKILL.md — REST、GraphQL、gRPC设计模式
可靠性与运维:
- …/ops-devops-platform/SKILL.md — CI/CD、部署策略、IaC、平台运维
- …/qa-observability/SKILL.md — 监控、追踪、警报、SLO
安全与数据:
- …/software-security-appsec/SKILL.md — 威胁建模、认证、授权、安全设计
- …/data-sql-optimization/SKILL.md — 数据库设计、优化、索引策略
质量与代码:
- …/software-code-review/SKILL.md — 代码审查实践、架构审查
文档:
- …/docs-codebase/SKILL.md — 架构文档、C4图、ADR
新鲜度协议(当问题依赖“当前”时)
当用户询问当前最佳实践、供应商特定约束或趋势敏感推荐时使用。
- 如果可用实时网络访问,参考
data/sources.json中的2–3个权威来源(云框架、SRE、模式目录),并将新约束纳入推荐。 - 如果无法实时网络访问,则基于持久模式回答,并明确说明可能变化的假设(供应商限制、定价、托管服务能力、生态系统成熟度)。
运维预案
共享基础
- …/software-clean-code-standard/references/clean-code-standard.md - 规范清洁代码规则(
CC-*)用于引用 - 遗留预案: …/software-clean-code-standard/references/code-quality-operational-playbook.md -
RULE-01–RULE-13、运维程序和设计模式 - …/software-clean-code-standard/references/design-patterns-operational-checklist.md - GoF模式触发器和护栏,何时应用或避免模式
架构特定
- references/operational-playbook.md — 详细架构问题、分解模式、安全层和外部参考