知识站 · 标准版 · 7 维覆盖

系统设计

从需求澄清到异地多活:用 32 个知识点、5 个带数字的完整案例,学会把独立组件组织成可扩展、高可用、成本可控的系统。

32知识点
7模块
691 min预计总时长
4 阶入门 → 前沿
总体进度0%
尚未开始

模块地图

可扩展性构件

6 个知识点

负载均衡、缓存、CDN、消息队列——把系统拼起来的标准件。

关于本库

系统设计 · 领域总览

这个领域解决什么问题

系统设计(System Design)研究的是:给定一组功能需求与非功能需求,如何把若干独立运行的组件(网关、服务、缓存、数据库、消息队列等)组织成一个可扩展、高可用、成本可控的整体。它与写代码不同——代码解决"怎么做对",系统设计解决"怎么在规模、故障与时间压力下依然站得住"。典型应用场景包括:后端/基础架构岗位的系统设计面试、新业务从零到一的架构选型、存量系统的扩容与容灾改造、以及技术方案评审中的方案陈述。

前置知识

学习本库建议具备:一门后端语言的编程经验(会读写 HTTP 接口即可)、数据库基本用法(会写 SQL、建过表)、以及计算机网络基础(理解 TCP/HTTP、DNS 的作用)。这些前置知识本身不属于本库范围——本库默认你已掌握,只在直接相关处简要回顾。

学完能做到什么

  • 面对一道开放设计题(短链、Feed、秒杀、IM、搜索),能独立完成"需求澄清 → 容量估算 → 框图 → 深挖 → 权衡"的完整推演,并给出带数字的估算。
  • 能为常见构件(负载均衡、缓存、消息队列、分库分表、限流熔断)给出什么时候用 / 什么时候不用的判断,以及参数级的配置要点。
  • 能识别高频反模式(缓存三问、重试风暴、单点、跨分片大事务)并给出替代方案。
  • 在 40 分钟内结构化地讲清一个设计,扛住两轮追问。

知识树

模块内容知识点数
01-设计方法论与估算需求澄清、容量估算、CAP 权衡、四步法5
02-可扩展性构件水平扩展、负载均衡、缓存、CDN、消息队列6
03-数据层设计选型、索引与存储引擎、复制、分库分表、分布式事务5
04-可用性与容错可用性度量、限流、熔断降级、超时重试幂等、异地多活5
05-高频场景案例短链、Feed、秒杀、IM、搜索五个完整推演5
06-面试方法与表达四阶段时间管理、结构化表达、失分点清单3
07-工程实践与演进架构演进与经典论文、前沿趋势、可观测性3

共 7 个模块、32 个知识点,全部路径见 00-learning-path.md。

范围收缩说明

系统设计外延极广,本库按"面试与工程双轨、以构件与案例为骨架"收缩边界:不覆盖 Kubernetes 实操、具体云厂商产品定价、以及编程语言级性能调优;微服务治理只讲到网关、注册发现层面,服务网格(Service Mesh)仅在前沿趋势中提及。