关于 System Design
面向 Solution Architect Agent 的系统设计技能,涵盖架构模式、关键质量属性、API 与数据库选择及架构文档。可用于形成高层和低层设计等交付物。
主要功能
- 01比较单体、微服务等架构模式
- 02梳理可扩展性与可靠性决策
- 03提供 REST、GraphQL、gRPC 设计选项
- 04区分关系型与 NoSQL 数据库
- 05涵盖 C4 与 ADR 文档
- 06列出 HLD、LLD 等交付物
适用场景
- 01为新系统选择架构模式
- 02评估可用性与安全设计
- 03规划 API 和数据库方案
- 04编写架构设计与决策记录
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ danhvb/ my-ba-skills --skill system-design安装后在 Claude Code 中输入/system-design确认已加载。
详细介绍
系统设计技能
目的
帮助解决方案架构师 Agent 设计软件系统的高层结构,选择合适的模式、技术和集成策略。
架构模式
1. 单体架构
- 用例:小型初创公司、简单领域、快速完成初始开发。
- 优点:部署简单,易于调试。
- 缺点:可扩展性受限,耦合紧密。
2. 微服务
- 用例:复杂企业、领域各自独立、需要独立扩展。
- 优点:各服务的技术栈互不受限,可扩展。
- 缺点:分布式系统复杂,网络延迟,数据一致性问题。
3. 事件驱动
- 用例:实时交互、高度解耦。
- 组件:生产者、消费者、事件总线(Kafka、RabbitMQ)。
4. 无服务器
- 用例:事件触发、负载变化大。
- 优点:按使用量付费,无需管理基础设施。
关键设计决策(各种“性”)
- 可扩展性:纵向扩展(更强的机器)与横向扩展(更多机器)。
- 可用性:冗余、故障转移策略。负载均衡器。
- 可靠性:熔断器、重试、最终一致性。
- 可维护性:整洁代码、文档、监控。
- 安全性:身份验证(OAuth)、授权(RBAC)、加密。
API 设计策略
- REST:标准的基于资源的设计。
- GraphQL:灵活的数据查询。
- gRPC:高性能的服务间通信。
数据库选型
- 关系型(SQL):结构化数据、ACID 事务(PostgreSQL、MySQL)。
- NoSQL(文档型):灵活的架构、快速迭代(MongoDB)。
- NoSQL(键值型):缓存、高频读写(Redis、DynamoDB)。
- 时序数据库:IoT、金融数据(InfluxDB)。
架构文档编写
- C4 模型:上下文、容器、组件、代码。
- ADR(架构决策记录):记录做出某项决策的原因。
交付物
- 高层设计(HLD)文档。
- 低层设计(LLD)文档。
- 数据库架构(ERD)。
- API 规范(Swagger/OpenAPI)。
评论
支持 Markdown