系统设计学习笔记
liquidslr/system-design-notes
访问 GitHub ↗
一句话简介
面向工程师的系统设计知识整理,涵盖分布式系统、可扩展架构、性能优化等常见面试与工程实践要点。
标签
适用应用场景
- 准备系统设计技术面试
- 学习分布式架构设计原则
- 构建可扩展的后端服务参考
- 梳理性能与可靠性优化思路
README 中文摘要
项目概述
本仓库是《System Design Interview - An Insider's Guide》(系统设计面试内幕指南)第一卷与第二卷(第二版)的配套学习笔记。笔记以章节为单位整理原书要点,并对原书未展开的工程实践补充了论文与开源实现链接。
笔记目录
笔记按原书章节组织,覆盖 28 个核心主题:
- 基础篇:第 1 章 从零扩展到百万用户、第 2 章 粗略估算、第 3 章 系统设计面试框架
- 核心组件:第 4 章 限流器、第 5 章 一致性哈希、第 6 章 键值存储、第 7 章 分布式唯一 ID 生成器
- 典型服务:第 8 章 短链服务、第 9 章 网页爬虫、第 10 章 通知系统、第 11 章 信息流、第 12 章 即时聊天
- 搜索与媒体:第 13 章 搜索自动补全、第 14 章 YouTube、第 15 章 Google Drive
- 地理位置服务:第 16 章 近邻服务、第 17 章 附近好友、第 18 章 Google Maps
- 分布式系统:第 19 章 分布式消息队列、第 20 章 指标监控与告警、第 21 章 广告点击事件聚合
- 业务系统:第 22 章 酒店预订、第 23 章 分布式邮件、第 24 章 类 S3 对象存储、第 25 章 实时游戏排行榜、第 26 章 支付系统、第 27 章 数字钱包、第 28 章 股票交易所
补充资源
笔记对每个主题补充了业界论文与开源实现,便于深入理解:
- 限流:熔断器算法、Uber 限流器实现(Go 语言)
- 一致性哈希:Tom White 的原始论文、Stanford CS168 讲义、Cassandra 一致性哈希实现、Discord 与 Google Maglev 论文
- 键值存储:Amazon Dynamo 原论文、Cassandra 架构文档、Google BigTable 论文、DynamoDB 内部分析视频
- 唯一 ID:Flickr Ticket Server 方案、Twitter Snowflake 实现
- 爬虫:Stanford 爬虫综述、Google 动态渲染文档
- 聊天系统:Discord 千亿消息存储方案、Slack 边缘缓存 Flannel
- 自动补全:Prefixy 实践、Prefix Hash Tree 论文
- 视频与存储:YouTube 架构、Netflix 转码与镜头级编码、Facebook 直播、Google Drive 差分同步算法、Dropbox 扩容实践
技术架构概览
整套笔记聚焦大规模分布式系统的典型挑战:流量增长、容量规划、数据分片、缓存策略、消息传递、监控告警。每个章节通常包含需求分析、容量估算、高层架构、存储与数据模型、关键算法(如一致性哈希、限流令牌桶、Trie 树自动补全)、以及针对热点场景的扩展方案。笔记仍处于持续更新状态,已完成 28 个章节的核心梳理。
摘要更新于 2026-09-10 00:32:31
· 原文 5763 字符
· md5 3678b04f71ea…