首页

免费 · 中英双语 · 交互式课程

每个系统都能画成框和箭头

一门写给零基础读者的交互式课程:大型应用是怎样搭起来的,为什么要这样搭。

课程正在编写。全站共 24 章,已有 6 章可以阅读;其余各章正在开发中,敬请期待。

点一下手机:一次请求,一次响应

发起方
处理

还没开始。点一下手机,或者按「发出请求」。

每个框是一个,箭头是一条消息,从发出请求的一方指向接到请求的一方;响应沿同一条线回来。

写给谁

会用手机网购、扫码付款、看短视频、在群里聊天,却说不清「服务器」「数据库」「云」是什么、在哪里的人;也写给工作中要和工程师打交道的产品、运营、设计、市场、记者、教师和管理者。

不用写代码,没有数学推导,也不是面试辅导。必修章大多一次读完不超过半小时。

学完能做什么

  • 把一个每天在用的应用(聊天、短视频、网购)画成框和箭头,并说出每个框为什么存在。
  • 读懂新闻里「宕机」「限流」「扩容」「数据泄露」一类的报道,判断问题大致出在哪一层。
  • 读懂一篇公司工程博客里的架构图,或一份公开故障报告的主要经过。
  • 和工程师讨论时,听懂并追问方案的取舍:更快还是更准,更便宜还是更稳。
  • 对数量级有直觉:知道百万与十亿、毫秒与秒之间差多少。

这门课怎样讲

  1. 每页只回答一个问题

    页面标题就是这个问题。先讲为什么需要,再讲怎样做,最后讲代价是什么。

  2. 每个核心概念都有能动手的图

    操作以后立刻能看到结果;能先猜的地方,先猜一猜,再看答案。

  3. 全站用同一套框和箭头

    框是一个组件,箭头是一条消息。越往上越靠近用户,越往下越靠近数据。

三条学习路线

课程还在编写:路线上已经写好的页可以打开,还在编写的页标着「开发中」。

尝鲜路线

13 页约 1 小时

只挑最能让人看懂框和箭头的页面,每页都有一张能动手的图。适合只想先感受一下的读者。

现在可以读 7 / 13 页
从第一站读起
查看路线上的 13 站
  1. 第 1 章 · 是谁在和谁说话
  2. 第 1 章 · 找到服务器的地址
  3. 第 2 章 · 人一多为什么会慢
  4. 第 4 章 · 请求交给谁
  5. 第 5 章 · 不必每次现查
  6. 第 6 章第 3 页开发中
  7. 第 7 章第 1 页开发中
  8. 第 8 章第 1 页开发中
  9. 第 11 章 · 为什么要限流
  10. 第 11 章 · 令牌桶
  11. 第 12 章第 1 页开发中
  12. 第 18 章第 2 页开发中
  13. 第 24 章第 1 页开发中

读新闻路线

21 页约 1.5 小时

覆盖「网站打不开」「云服务宕机」「数据丢失」「账号被盗」「数据泄露」「更新之后全网瘫痪」这几类新闻需要的页面。

现在可以读 8 / 21 页
从第一站读起
查看路线上的 21 站
  1. 第 1 章 · 是谁在和谁说话
  2. 第 1 章 · 找到服务器的地址
  3. 第 1 章 · 路上要走多久
  4. 第 2 章 · 「云」在哪里
  5. 第 2 章 · 人一多为什么会慢
  6. 第 3 章 · 重启以后还在吗
  7. 第 4 章 · 坏了一台
  8. 第 8 章第 1 页开发中
  9. 第 8 章第 4 页开发中
  10. 第 11 章 · 为什么要限流
  11. 第 12 章第 1 页开发中
  12. 第 12 章第 3 页开发中
  13. 第 13 章第 1 页开发中
  14. 第 13 章第 2 页开发中
  15. 第 13 章第 3 页开发中
  16. 第 13 章第 4 页开发中
  17. 第 13 章第 5 页开发中
  18. 第 13 章第 6 页开发中
  19. 第 14 章第 1 页开发中
  20. 第 14 章第 5 页开发中
  21. 第 24 章第 2 页开发中

必修路线

15 章约 5–7 小时

完整的主线:第 1–8、10–14、18、24 章。选读章可以在读完各自的前置章之后随时插入。

现在可以读 6 / 15 章
从第一站读起
查看路线上的 15 站
  1. 第 1 章 · 打开一个网页
  2. 第 2 章 · 服务器
  3. 第 3 章 · 数据库
  4. 第 4 章 · 多台服务器
  5. 第 5 章 · 缓存
  6. 第 6 章 · 文件与内容分发开发中
  7. 第 7 章 · 队列与后台任务开发中
  8. 第 8 章 · 副本开发中
  9. 第 10 章 · 拆分服务开发中
  10. 第 11 章 · 限流
  11. 第 12 章 · 超时与重试开发中
  12. 第 13 章 · 安全开发中
  13. 第 14 章 · 发布变更开发中
  14. 第 18 章 · 聊天开发中
  15. 第 24 章 · 读懂真实系统开发中

课程地图

六篇、24 章,从上往下是建议的顺序。选读章标着「选读」,读过的章打勾;开发中的章暂时不能打开。

  • 必修
  • 读过
  • 开发中,敬请期待
  1. 第一篇 地基

    1. 1打开一个网页5 页 · 练习
    2. 2服务器4 页 · 练习
    3. 3数据库4 页 · 练习
  2. 第二篇 应对增长

    1. 4多台服务器5 页 · 练习
    2. 5缓存4 页 · 练习
    3. 6文件与内容分发开发中
    4. 7队列与后台任务开发中
    5. 8副本开发中
    6. 9分片选读开发中
    7. 10拆分服务开发中
  3. 第三篇 守护

    1. 11限流9 页 · 练习
    2. 12超时与重试开发中
    3. 13安全开发中
  4. 第四篇 上线之后

    1. 14发布变更开发中
    2. 15可观测性选读开发中
    3. 16成本选读开发中
  5. 第五篇 拆解日常应用

    1. 17推送通知选读开发中
    2. 18聊天开发中
    3. 19短链接选读开发中
    4. 20信息流选读开发中
    5. 21搜索建议选读开发中
    6. 22视频选读开发中
    7. 23文件同步选读开发中
  6. 第六篇 走出百家菜

    1. 24读懂真实系统开发中