Reference · 006 · 打印友好

案例原型分类器

拿到任何系统设计题,60 秒先分类——原型决定架构重心

使用方法

面试开场听完题目,先问自己:这题的「重心」在哪一侧?五类原型对应五套默认架构。判断错了原型,后面的设计再漂亮也是南辕北辙。三道综合案例 + 四道进阶案例恰好各占一类,可对照复习。

① 在线读重型 — 短链 / 热点资讯 / 补全

识别信号:读写比悬殊(10:1 以上)、延迟敏感、读路径是主战场。

默认架构:LB → 无状态服务 → 缓存(第一杠杆) → 分片 KV。深挖火力:缓存三大问题、热 key、穿透防护。

代表案例:L8 短链 · L17 补全(预计算变体)

② 在线写重型 / 瞬时洪峰 — 秒杀 / 抢票 / 红包

识别信号:流量峰值达日常 10–100 倍、热点集中(同一行数据)、有正确性铁律(不超卖)。

默认架构:静态化 + CDN → 限流风控 → 原子预扣(Redis) → MQ → 异步落单。深挖火力:原子性、幂等、降级预案、代价不对称。

代表案例:L12 秒杀

③ 实时双向系统 — IM / 协作文档 / 网约车

识别信号:长连接、毫秒级到达要求、「实时」二字出现。

默认架构:接入层有状态(连接路由)+ 业务层无状态 → seq/版本序号保序 → at-least-once + 幂等 → 离线兜底。深挖火力:连接数上限、重连风暴、顺序保证、并发锁单。

代表案例:L16 IM · L15 网约车

④ 离线数据管道 — 视频转码 / 爬虫 / 报表

识别信号:处理分钟级可接受、吞吐量是主角、数据量大且追加型。

默认架构:上传/采集 → 对象存储 → MQ 解耦 → worker 池(按 lag 扩容) → 产物存储 → 在线侧只做轻查询。深挖火力:管线幂等(重试安全)、失败重试与 DLQ、成本(存储分层/带宽)。

代表案例:L13 视频平台 · L18 爬虫(调度变体)

⑤ 基础设施组件 — 设计 KV 存储 / 消息队列 / 限流器

识别信号:「设计一个 X 给其他系统用」、API 极简(put/get)、强调横向扩展与容错。

默认架构:一致性哈希分片 → 多副本 + quorum → 冲突处理哲学(向量时钟 vs LWW)→ hinted handoff + 反熵对账 → gossip 成员管理。深挖火力:CAP 站位、故障恢复路径、元数据膨胀。

代表案例:L19 分布式 KV 存储(毕业进阶)

混合题的处理