用途:为软件系统设计提供完整框架,帮助在新建项目、重构单体、系统超出当前架构、技术栈选型、预期十倍用户增长、多团队协作、性能或可靠性问题、微服务迁移等场景下做出架构决策。
主要能力:
- 需求分析:区分功能需求(用户故事、功能、业务规则)与非功能需求(可扩展性、性能、可靠性、安全、可维护性、可观测性)。
- 架构模式选择:单体、微服务、事件驱动、分层(N-Tier)、六边形(端口与适配器),并列出各自适用场景与优缺点。
- 组件设计:提供组件设计模板,含目的、职责、依赖、接口、数据、事件、错误处理。
- 技术选型:用决策框架(问题、选项、标准、评估表、决策、理由、权衡、复审日期)记录选择。
- 扩展规划:垂直/水平扩展、缓存策略(Cache-Aside、Write-Through、Write-Behind、Refresh-Ahead)、数据库扩展(读副本、分片、分区)。
- 架构决策记录(ADR):提供模板与示例,记录状态、背景、决策、备选方案、后果、后续行动。
- 常见模式:API 网关、断路器、Saga(分布式事务)、CQRS。
- 架构检查清单:开发前与开发中的核对项。
核心原则:架构服务于业务、SOLID、DRY、KISS、YAGNI、关注点分离、最小惊讶原则。
使用方式:按工作流逐步执行——理解需求、选择架构模式、设计系统组件、做出技术选择、规划扩展、用 ADR 记录决策。资料未提供具体安装命令或代码运行方式。
适用场景:新项目或绿地开发、单体重构、系统增长、技术栈决策、规模化设计、多团队协作、性能与可靠性问题、微服务迁移规划。
限制:资料未提供具体收费、价格、平台支持或效果数据;部分内容为模板与示例,实际落地需结合团队与业务情况判断。