构建不会崩溃的系统。 你的博客刚刚病毒式传播。在四分钟内,流量激增 50 倍。你的架构是一台直接连接到数据库的服务器——它即将在众人面前崩溃。 Cloud Arch Simulator 是一款面向真正从事软件构建人员的逆向塔防解谜游戏。你将接手一个破损的云架构,找出它在负载下崩溃的 原因,并在定时流量洪峰——以及混沌事件——判定你是否正确之前重新设计它。然后,你将在构建下一个系统之前学会对其进行 容量估算。 没有虚构的技术。没有含糊其辞。只有真实的模式、真实的权衡和真实的后果。 游戏循环 接手与诊断 — 每个场景都从一个真实且破损的拓扑结构开始。部署它,观察其饱和状态,并解读故障。…
构建不会崩溃的系统。
你的博客刚刚病毒式传播。在四分钟内,流量激增 50 倍。你的架构是一台直接连接到数据库的服务器——它即将在众人面前崩溃。
Cloud Arch Simulator 是一款面向真正从事软件构建人员的逆向塔防解谜游戏。你将接手一个破损的云架构,找出它在负载下崩溃的
原因,并在定时流量洪峰——以及混沌事件——判定你是否正确之前重新设计它。然后,你将在构建下一个系统之前学会对其进行
容量估算。
没有虚构的技术。没有含糊其辞。只有真实的模式、真实的权衡和真实的后果。
游戏循环
- 接手与诊断 — 每个场景都从一个真实且破损的拓扑结构开始。部署它,观察其饱和状态,并解读故障。
- 架构设计 — 将 CDN、缓存、负载均衡器、自动伸缩组、消息队列和数据库拖放到面板上,然后连接流量流向。
- 部署与生存 — 实时洪峰(高达 120 倍)冲击你的设计,随后混沌降临:实例死亡、缓存受压、副本滞后、整个可用区陷入黑暗。
- 获得评分 — 根据 SLA 合规性、预算效率和基础设施的整洁度进行评分。等级从 C 到 S。达成客户合同要求,否则合同将被终止。
先估算,再构建。
真正的架构始于图表之前——始于一张餐巾纸。
估算 合同以通俗的语言向你交付产品需求(“八百万用户,每天六次会话,每个动态十五张图片”),并要求你推导出其他一切所依赖的数字:每秒峰值请求数、读写比例、存储增长。低估估算值会导致配置不足——随后真实流量到来并将你淹没。这是在第一台服务器启动之前就要完成的一半工作:这种粗略估算是区分能够着手设计的工程师与对着空白页面发呆的人的关键。
真实架构,真实权衡
每个组件的行为都与其现实世界中的对应物一致:
- 真正重要的位置卸载 — 缓存只能保护其下游的内容。放错位置,它就什么也保护不了。
- 读不等于写 — 你的缓存吸收一种曲线,而将另一种直接传递给数据库。同时观察这两根指针。
- 副本服务于过去 — 跨副本扩展读取,有些副本会返回陈旧数据。刚发帖的用户刷新页面,发现评论消失了。将必须新鲜的数据发送到源;让其余数据滞后。可用性可以是完美的,但答案仍然是错误的。
- 缓存死亡不会带走其未命中 — 它们会原始地涌向下游。在惊群效应中幸存下来。
- 消息队列购买的是时间,而非容量 — 现在接受突发流量,在到期前清除积压。
- 自动伸缩有冷启动 — 如果你在它启动期间不缓冲突发流量,它救不了你。
- 重试会放大其所触及的一切 — 上一位顾问安装的“弹性”芯片正是导致中断恶化的原因。
- 可用区是爆炸半径 — 当 us-east-1a 陷入黑暗时,其中的所有内容都会一起死亡。
- 渐进式迁移 — 按权重分割流量,以在不宕机的情况下扼杀遗留单体应用。
你的画布是
基础设施即代码,双向同步:编辑图表,YAML 实时更新——编辑 YAML,图表随之变化。
观察它坚守——或燃烧
这不是电子表格。CRT 示波器读数实时追踪你的延迟,数据管道电缆随着实时流量脉动,过载节点火花四溅并进入红线区域,三级警报系统(黄色 → 红色 → 崩溃)在你的 SLA 破裂时发出尖啸。正确性读数标记那些即使技术上没有“失败”但也返回
错误 的请求——通过了所有健康检查的陈旧读取。当你宕机时,你的预算每秒都在流失。每一个设计决策都一目了然。
25 份合同的职业生涯
跨越 25 个源自真实事故的场景,从
初级开发人员 晋升为
技术主管,再到
首席架构师:
- 病毒式博客 — 在不破产的情况下承受 50 倍的读重负载尖峰。
- 首次写入 — 客户上线了评论功能。发现为什么你的缓存再也无法拯救数据库。
- 幽灵服务器 — 一半的流量在某处消失。找到那个没人记得的盒子。
- 黑色星期五 — 120 倍的闪购人群,以及慢到无法独自拯救你的自动伸缩。
- 边缘日食 — 你的 CDN 提供商发布“正在调查错误率升高”。源站吞下了原始的互联网流量。
- 惊群 — 支撑你的缓存在高潮中途死亡,其未命中请求同时到达。
- CFO 的刀 — 系统很健康;账单却不健康。削减三分之二的费用而不造成失血。
- 绞杀者模式 — 将垂死的单体应用实时迁移到微服务,且无停机时间。
- 读取自己的写入 — 你用副本扩展了数据库,可用性完美无缺。那么,为什么客户的订单在下单瞬间就消失了?
- 闪购订单风暴 — 十年一度的巡演开售。接下每一笔订单——并在午夜前偿还积压债务。
- 区域宕机 — 两个可用区今晚相继故障。支付系统必须毫无察觉。
- 午夜 surge — 新年前夜。迁移完成了一半,僵尸网络随着烟花苏醒,所有可能出错的都会出错。
精通是可选的。通关不设门槛。
提示始终可用——从轻微提示到完整方案分级提供——任何能读懂卡片并观察运行失败的人都可以完成每个关卡。但 S 级排名是在不使用提示的情况下获得的,而在首席架构师等级,游戏不再可预测:混沌时间表每次尝试都会改变,故障目标针对对你设计伤害最大的地方,重新部署开始花费真金白银。规划,而非刷怪。
适合人群
软件工程师、SRE、学生,以及任何想要
感受 分布式系统如何崩溃——以及如何坚守的人。你将从一行简短的需求中估算系统规模,然后构建它以度过其生命中最糟糕的夜晚。如果你喜欢在凌晨 2 点梳理系统图表,这就是该过程的游戏版本,且无需携带寻呼机。