Community编程与开发github.com

viccom/软件架构设计

设计单体、微服务、无服务器等系统结构。在系统结构设计、扩展、单体分解或选择架构模式时使用。

软件架构设计 是什么?

该技能专注于系统级架构设计决策,涵盖了从单体架构到微服务、事件驱动和无服务器架构的广泛模式。它通过提供决策树、快速参考表和详细的工作流程,帮助开发者或AI代理在项目初期或重大重构时,评估并选择最合适的架构风格。技能内包含了针对可扩展性、弹性、数据一致性、可观测性和迁移策略的专项指南,并强调使用架构决策记录(ADR)来记录关键权衡。它明确指出了哪些场景不应使用本技能(如单服务实现、API端点设计),并指导用户引用具体技术选型(例如Temporal.io、Socket.io),而非仅停留在抽象模式层面。该技能还集成了2026年的架构趋势思考,包括平台工程、数据网格和AI原生系统,并能够通过外部数据源提供最新建议。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/viccom/viccom-agent-skills/tree/HEAD/skills/software-architecture-design

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

软件架构设计 — 快速参考

此技能用于系统级设计决策,而非单个服务或组件内的实现细节。

快速参考

任务模式/工具关键资源使用时机
选择架构风格分层架构、微服务、事件驱动、无服务器现代模式参考新项目、重大重构
设计扩展性负载均衡、缓存、分片、只读副本可扩展性与可靠性指南高流量系统、性能目标
确保弹性断路器、重试、隔离舱、优雅降级可扩展性与可靠性指南分布式系统、外部依赖
记录决策架构决策记录 (ADR)ADR 模板重大技术决策、权衡分析
定义服务边界领域驱动设计 (DDD)、限界上下文微服务模板微服务拆解
建模数据一致性ACID vs BASE、事件溯源、CQRS、Saga 模式数据架构模式多服务事务
规划可观测性SLIs/SLOs/SLAs、分布式追踪、指标、日志架构蓝图模板生产就绪
从单体迁移绞杀者模式、数据库拆解、影子流量迁移与现代化指南遗留系统现代化
设计服务间通信API 网关、服务网格、BFF 模式API网关与服务网格微服务网络

何时使用此技能

在以下情况下调用:

  • 系统拆解:在单体、模块化单体、微服务之间抉择
  • 架构模式:事件驱动、CQRS、分层架构、六边形架构、无服务器
  • 数据架构:一致性模型、分片、复制、CQRS 模式
  • 可扩展性设计:负载均衡、缓存策略、数据库扩展
  • 弹性模式:断路器、重试、隔离舱、优雅降级
  • API 契约:服务边界、版本控制、集成模式
  • 架构决策:ADR、权衡分析、技术选型
  • 迁移规划:单体拆解、绞杀者模式、数据库分离

何时不使用此技能

以下场景请改用其他技能:

决策树:选择架构模式

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

决策因素:

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

详细模式描述请参见 现代模式参考。

输出指南

此技能中的参考文件是您的背景知识 — 吸收模式并作为您自己的专业知识呈现。不要在面向用户的输出中引用内部参考文件名(例如“来自 data-architecture-patterns.md”)。用户不知道这些文件的存在。

每个架构建议都应包含:

  • 具体技术选型:指定具体技术(例如“使用 Temporal.io 进行工作流编排”、“使用带有 Redis 适配器的 Socket.io”),而不是停留在抽象层面。用户需要做出构建决策,而不仅仅是理解模式。
  • 不要构建什么:明确指出应推迟或避免的内容。过早的范围界定是架构中的第一大错误 — 帮助用户避免它。
  • 团队与流程对齐:此架构如何映射到团队结构?它暗示了什么样的所有权模型?在相关处包含 CODEOWNERS、部署所有权和 on-call 边界。
  • 成功指标:团队如何知道架构正在良好运行?包括可衡量的指标(部署频率、交付周期、错误率、MTTR)。
  • 聚焦长度:专注于 3-5 个最重要的决策,深入讲解,而非详尽覆盖所有问题。太长的建议不会被遵循。

工作流程(系统级)

当用户请求架构建议、拆解或重大平台决策时,使用此工作流程。

  1. 澄清:问题陈述、非目标、约束和成功指标
  2. 捕获质量属性:可用性、延迟、吞吐量、持久性、一致性、安全性、合规性、成本
  3. 提出 2-3 个候选架构并比较权衡
  4. 定义边界:限界上下文、所有权、API/事件、集成契约
  5. 确定数据策略:存储、一致性模型、模式演进、迁移
  6. 设计运维:SLO、故障模式、可观测性、部署、灾难恢复、事故演练手册
  7. 指出范围限制:还不要构建什么、推迟什么、购买 vs 构建什么
  8. 记录决策:为关键权衡和不可逆选择编写 ADR

首选交付物(根据请求选择):

  • 架构蓝图:assets/planning/architecture-blueprint.md
  • 决策记录:assets/planning/adr-template.md
  • 模式深度剖析:modern-patterns.md、scalability-reliability-guide.md

2026 年考虑因素

仅在问题明确涉及当前趋势、供应商特定约束或“对 X 的最新看法是什么?”时加载。

  • architecture-trends-2026.md — 平台工程、数据网格、可组合架构、AI 原生系统
  • data/sources.json — 60 个按类别整理的精选资源:
    • platform_engineering_2026 — IDP 趋势、AI-平台融合、Backstage
    • optional_ai_architecture — RAG 模式、多智能体设计、MCP/A2A 协议
    • modern_architecture_2025 — 数据网格、可组合架构、持续架构

如果可以访问实时网络,请从 data/sources.json 中查阅 2-3 个权威来源,并将发现融入建议中。如果不能,请使用经过验证的模式进行回答,并明确说明可能发生变化的假设(供应商限制、定价、托管服务能力)。

导航

核心参考

每个问题最多阅读 2-3 个参考文件 — 选择与具体问题最相关的。不要全部阅读。

参考文件内容何时阅读
modern-patterns.md10 个架构模式及决策树选择或比较模式时
scalability-reliability-guide.mdCAP 定理、数据库扩展、缓存、断路器、SRE处理扩展或可靠性问题时
data-architecture-patterns.mdCQRS 变体、事件溯源、数据网格、Saga、一致性处理跨服务数据流时
migration-modernization-guide.md绞杀者模式、数据库拆解、功能开关、风险评估重构单体时
api-gateway-service-mesh.md网关模式、服务网格、mTLS、可观测性处理服务间通信时
architecture-trends-2026.md平台工程、数据网格、AI 原生系统仅涉及当前趋势时
operational-playbook.md架构问题框架、拆解启发式方法设计讨论框架时

模板

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

架构模式 (assets/patterns/):

运维 (assets/operations/):

  • scalability-checklist.md — 可扩展性检查清单(数据库扩展、缓存、负载测试、自动扩展、灾难恢复)

相关技能

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能