返回顶部
s

system-design系统设计流程

Deep system design workflow—requirements, capacity, APIs, data, consistency, failure modes, trade-offs, and evolution. Use when preparing interviews, RFCs, greenfield systems, or major redesigns (microservices, multi-region, real-time).

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
262
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

system-design

系统设计(深度工作流)

系统设计是在约束条件下进行结构化决策。其产出不是一张图表,而是明确的需求清晰的权衡,以及一条在负载和功能变化时可演进的路径

何时提供此工作流

触发条件:

  • - “设计 Twitter/Instagram/WhatsApp”(面试风格)
  • 全新服务、重大规模里程碑、多区域或实时需求
  • 重构单体架构——涉及边界数据所有权问题

初始建议:

使用七个阶段:(1) 明确需求,(2) 容量与 SLO 草图,(3) 高层架构,(4) 数据模型与存储,(5) API 与流量模式,(6) 可靠性及故障模式,(7) 权衡与演进。询问是面试模式(限时)还是真实项目(深度)。



阶段 1:明确需求

目标: 明确功能性非功能性需求。

功能性

  • - 核心用户操作读写比;是否需要搜索排序通知

非功能性

  • - 规模:DAU、QPS、数据量、增长——若未知,数量级估算即可
  • 延迟:p95/p99 目标;同步还是异步可接受?
  • 一致性:读取可否容忍过期?是否需要全局排序?
  • 持久性:数据丢失容忍度;审计;合规要求

非目标范围

  • - 明确列出非目标,防止在面试和实际项目中范围蔓延

退出条件: 问题陈述一段话;约束条件列表。



阶段 2:容量与 SLO 草图

目标: 通过粗略估算验证瓶颈的合理性。

粗略计算

  • - 请求数/天 → 峰值 QPS,必要时乘以 3–10 倍因子
  • 存储量/天;复制倍数
  • 大负载(图片、视频)的带宽

SLO 思维

  • - 可用性 vs 成本强一致性 vs 延迟

退出条件: 识别出可能的瓶颈类型:数据库、网络、扇出、存储。



阶段 3:高层架构

目标: 带有理由的方框和箭头。

典型分层

  • - 客户端负载均衡/API服务缓存/队列数据库/对象存储
  • 适用时使用 CDN 处理静态和可缓存 API 响应
  • 对繁重工作(索引、邮件、机器学习)采用异步处理

原则

  • - 仅在规模证明必要时才进行读写分离(CQRS)
  • 幂等工作器;至少一次消息传递假设

退出条件: 图表 + 用一段话回答为什么不采用更简单的方案(单体架构)。



阶段 4:数据模型与存储

选择符合访问模式的存储,而非追逐流行词。

问题

  • - 关系型 vs 文档型 vs 宽列型 vs 图型——优先考虑查询模式
  • 大规模时的分片键;热点分区风险
  • 缓存:缓存内容、TTL、失效策略
  • 搜索:倒排索引服务(Elasticsearch 等)vs 数据库全文搜索

一致性

  • - 事务边界;跨服务一致性使用Saga;可接受处使用最终一致性

退出条件: 模式草图或实体列表;前 3 个操作的读写路径



阶段 5:API 与流量模式

目标: 接口设计和运行行为。

REST vs RPC vs GraphQL

  • - 权衡:耦合度过度获取缓存团队边界

实时

  • - WebSocket/SSE在线状态排序背压

限流与认证

  • - 网关强制执行;用户 vs 服务身份

退出条件: 核心流程的示例API事件分页策略。



阶段 6:可靠性及故障模式

目标: 故障是常态——设计降级方案。

考虑

  • - 带退避的重试超时无处不在;断路器
  • 部分故障:只读模式、过期缓存、队列积压
  • 灾难备份/恢复多区域(双活 vs 灾备)

可观测性

  • - 指标、日志、链路追踪;关键路径的 SLO

退出条件: 前 5 个故障场景 + 每个场景的缓解措施



阶段 7:权衡与演进

目标: 展示成熟度——v1 与 v2 路径。

阐明

  • - 先构建什么vs 后构建;特性开关绞杀者模式
  • 面试:在 60 秒内总结瓶颈未来扩展

最终检查清单

  • - [ ] 需求和非目标清晰
  • [ ] 粗略容量指向瓶颈
  • [ ] 架构相对于更简单的替代方案有合理理由
  • [ ] 数据存储匹配访问模式 + 一致性需求
  • [ ] API/事件和故障模式已处理
  • [ ] 演进路径已说明

有效指导技巧

  • - 面试:对深度进行限时——先广度,然后按需深入某一领域。
  • 对于规模问题,始终提及热键扇出背压
  • 区分恰好一次的迷思——通常是至少一次 + 幂等性。

处理偏差

  • - 小型系统:仍轻量运行各阶段——习惯可防止后续过度设计。
  • 现有系统:关注增量变更和数据迁移风险。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 system-design-1776031628 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 system-design-1776031628 技能

通过命令行安装

skillhub install system-design-1776031628

下载

⬇ 下载 system-design v1.0.0(免费)

文件大小: 3.13 KB | 发布时间: 2026-4-13 12:15

v1.0.0 最新 2026-4-13 12:15
- Initial release of the "system-design" skill providing a structured, seven-stage system design workflow.
- Guides users through requirements, capacity planning, architecture, data modeling, API design, reliability, and evolution.
- Includes detailed goals, exit conditions, and review checklists for each stage.
- Suitable for both interview preparation and real-world projects, including major redesigns and greenfield systems.
- Offers tips for adapting process to system size and existing versus new systems.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部