软件架构设计 software-architecture-design

软件架构设计技能用于系统级设计决策,包括选择架构风格(如微服务、事件驱动)、设计可扩展性和可靠性模式、制定数据一致性策略和规划运维可观测性。关键词:软件架构、微服务、事件驱动、可扩展性、可靠性、架构决策、系统设计、生产级软件。

架构设计 0 次安装 0 次浏览 更新于 3/7/2026

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、权衡分析、技术选择

何时不使用此技能

对于以下情况,使用其他技能:

决策树:选择架构模式

项目需求:[新系统或重大重构]
    ├─ 单团队、演进领域?
    │   ├─ 从简单开始 → 模块化单体(清晰模块边界)
    │   └─ 需要快速迭代 → 分层架构
    │
    ├─ 多团队、清晰有界上下文?
    │   ├─ 独立部署关键 → 微服务
    │   └─ 共享数据模型 → 带服务模块的模块化单体
    │
    ├─ 事件驱动工作流?
    │   ├─ 异步处理 → 事件驱动架构(Kafka、队列)
    │   └─ 复杂状态机 → Saga模式 + 事件溯源
    │
    ├─ 可变/不可预测负载?
    │   ├─ 按使用付费模型 → 无服务器(AWS Lambda、Cloudflare Workers)
    │   └─ 批处理 → 无服务器 + 队列
    │
    └─ 高一致性要求?
        ├─ 强ACID保证 → 单体或模块化单体
        └─ 分布式数据 → CQRS + 事件溯源

决策因素:

  • 团队规模阈值:<10开发者 → 模块化单体通常优于微服务(运维开销)
  • 团队结构(康威定律)— 架构反映组织结构
  • 部署独立需求
  • 一致性 vs 可用性权衡(CAP定理)
  • 运维成熟度(监控、编排)

详见 references/modern-patterns.md 获取详细模式描述。

工作流程(系统级)

当用户请求架构推荐、分解或重大平台决策时使用此工作流程。

  1. 澄清:问题陈述、非目标、约束、成功指标
  2. 捕获质量属性:可用性、延迟、吞吐量、持久性、一致性、安全性、合规性、成本
  3. 提出2–3个候选架构并比较权衡
  4. 定义边界:有界上下文、所有权、API/事件、集成合同
  5. 决定数据策略:存储、一致性模型、架构演进、迁移
  6. 设计运维:SLO、故障模式、可观测性、部署、灾难恢复、事件预案
  7. 记录决策:为关键权衡和不可逆选择编写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

如果无法获取新鲜网络访问,则基于已知最佳模式回答,并明确说明假设。

导航

核心资源

模板

规划与文档 (assets/planning/):

架构模式 (assets/patterns/):

运维与可扩展性 (assets/operations/):

相关技能

实现细节:

可靠性与运维:

安全与数据:

质量与代码:

文档:


新鲜度协议(当问题依赖“当前”时)

当用户询问当前最佳实践、供应商特定约束或趋势敏感推荐时使用。

  1. 如果可用实时网络访问,参考 data/sources.json 中的2–3个权威来源(云框架、SRE、模式目录),并将新约束纳入推荐。
  2. 如果无法实时网络访问,则基于持久模式回答,并明确说明可能变化的假设(供应商限制、定价、托管服务能力、生态系统成熟度)。

运维预案

共享基础

架构特定