SuperAPI AI 工具集

system-architecture-design

编程与开发

查看项目

更新于 10-16 05:27

技能介绍

用途

本技能用于在定义或评审软件架构时提供可复用的判断、领域约束和成熟工作流,适用于 Web 应用、移动后端、SaaS 平台、API、分布式系统或重大功能。当问题超出单个组件的范围时,应在确定框架、服务边界、数据所有权或集成模式之前先使用本技能。

主要能力

  • 定义系统边界:捕获参与者与主要用户旅程、业务能力与不变量、外部系统与集成点、读写路径与异步流程、非功能约束(延迟、可用性、合规、团队规模、发布节奏)等。
  • 按能力分解:优先按业务能力拆分系统,其次才是技术分层;每个模块拥有自己的规则、契约和数据职责;共享模块应暴露窄而稳定的接口。
  • 选择运行时形态:默认优先结构良好的模块化单体,仅在扩展、可部署性、团队边界或隔离性有充分理由时才提取服务;仅在松耦合、弹性或异步处理明确重要时才采用事件驱动。
  • 设计关键流程:为每个关键流程定义入口点与认证方式、验证规则、事务边界、副作用与幂等策略、失败与重试行为、审计与可观测性事件,以及一致性要求、下游效果所有权、回滚或对账路径。
  • 记录决策:对难以逆转的决策使用 ADR 逻辑,包含上下文、考虑过的选项、决策、权衡和后果。
  • 产出可执行的架构工件:上下文图与所有权图、关键流程表(含不变量、依赖失败和操作员动作)、部署与回滚假设、按流程的遥测与审计要求、迁移与契约演进说明。

使用方式

  1. 先阅读 SKILL.md,然后仅加载任务所需的深层参考文件。
  2. 收集相关项目上下文、约束和要解决的具体问题。
  3. 确认期望的交付物:设计、代码、评审、迁移计划、审计或文档。
  4. 按有序指导、检查清单和决策规则执行,而非挑选孤立片段。
  5. 产出交付物时,在重要处明确假设、风险和后续工作。

加载顺序:先加载 world-class-engineering,再使用本技能塑造架构,最后在结构决策明确后再加载特定技术栈的技能。

适用场景

  • 需要为 Web 应用、移动后端、SaaS 平台、API、分布式系统或重大功能定义或评审架构。
  • 任务需要可复用的判断、领域约束或成熟工作流,而非临时建议。
  • 问题超出单个组件范围,需要在确定框架、服务边界、数据所有权或集成模式之前进行架构决策。

限制

  • 当任务与本技能无关,或更适合由更具体的配套技能处理时,不应使用本技能。
  • 当请求只需要简单答案,且本技能的任何约束或参考都无实质帮助时,不应使用本技能。
  • 本技能不提供具体技术栈的实现细节,需在结构决策明确后加载特定技术栈技能。
  • 若无法从可用上下文完成任务,需明确说明假设、权衡或未解决的缺口。

结构标准与决策启发

  • 限界上下文:在每个上下文内保持领域语言一致;不允许一个模块直接写另一个模块的表;通过 API、命令、事件或定义良好的内部接口交换数据。
  • 契约:对外部消费的契约进行版本管理;领域 DTO 与持久化模型分离;为请求、事件、作业和数据库写入明确模式。
  • 失败设计:将超时、重试、重复消息和部分写入视为一等设计案例;对金融、供应和集成密集型工作流优先使用幂等键;当原子事务无法跨越工作流时使用补偿操作。
  • 可操作性:每个关键工作流需要日志、指标和可追踪 ID;每个后台处理器需要死信或重放策略;每个外部依赖需要超时、重试和降级规则。
  • 发布感知架构:优先可小批量发布的设计;避免强制大爆炸式数据库、契约或流量切换的边界;在架构依赖分阶段发布时明确功能标志和迁移策略。
  • 团队与依赖边界:尽可能使服务或模块边界与所有权对齐;优先允许团队独立移动而不隐藏模式耦合的接口;不要仅为镜像组织架构而提取服务。

决策启发:当单个团队拥有大部分系统、事务经常跨多个能力、部署独立性尚不是瓶颈时,选择模块化单体;当独立扩展配置已被证明、团队需要独立发布控制、故障隔离或合规隔离是强制要求时,选择服务边界。当调用者需要立即答案、一致性必须在 UX 继续前确认时,选择同步通信;当工作缓慢、突发或集成密集、临时不可用不应阻塞用户流程、操作天然最终一致时,选择异步通信。

架构评审检查清单

  • 能力按业务含义分离。
  • 每个模块的数据所有权明确。
  • 关键路径包含失败和可观测性设计。
  • 运行时形态支持低风险发布和回滚,而不仅是清晰分解。
  • 服务边界由证据而非时尚证明。
  • 契约明确且演进安全。
  • 后台工作幂等且重试安全。
  • 安全和租户边界与模块边界对齐。
  • 工作流跨边界时,一致性模型和补偿策略明确。
  • 架构交付物包含上下文图、关键流程表和依赖视图。

参考文件

  • references/practical-architecture-knowledge.md:从书籍提炼的 DDD 边界、可扩展性、架构指标和可执行架构文档检查。
  • references/adr-template.md:决策记录格式和架构评审提示。
  • references/architecture-execution-model.md:架构工件、发布感知边界和流程设计。
  • ../world-class-engineering/references/source-patterns.md:从所提供书籍中提炼的架构评审模式。