用途:该技能用于设计分布式系统、编写系统设计文档、准备系统设计面试、绘制架构图、分析设计取舍,以及评审或改进现有系统设计。
主要能力:提供一套系统设计框架,包括需求收集(功能与非功能需求、约束)、容量估算(流量、存储、带宽、缓存)、高层设计(客户端、负载均衡、应用服务器、缓存、数据库、消息队列、对象存储、CDN)、数据库设计(SQL 与 NoSQL 选择、分片策略、模式设计)、组件深入(缓存策略、负载均衡、消息队列模式)、扩展性模式(水平与垂直扩展、微服务)、可靠性与可用性(复制、故障转移、限流、熔断器)、常见设计模式(内容分发、数据一致性、API 设计)以及系统设计模板。
使用方式:按框架分步推进,先收集需求,再做容量估算,然后绘制高层架构,接着深入关键组件,最后讨论扩展性与取舍。可参考 system_design/00_template.md 模板和 system_design/ 下的案例研究(如 Netflix、Twitter、Uber、Instagram、WhatsApp)。
适用场景:系统设计面试准备、架构文档撰写、分布式系统设计评审、架构图绘制、设计取舍分析。
限制:资料未提供具体安装命令、收费信息或平台要求;部分内容为通用方法论,实际应用需结合具体技术栈与业务约束。