系统设计问题有很多,比如:
1 设计一个短域名系统
2 设计一个搜索引擎
3 设计一个在线象棋游戏
4 设计一个社交平台,实现follow notification。
在面对这些系统设计问题时,不要怕,让我们一步一步的搞定它。
第一步:澄清问题,Clarify and Scope it.
我们首先要做的就是弄清楚问题,包括限制条件,各个接口的TPS有多大,数据量有多大,和系统要满足哪些需求,具体的use cases。
第二步:开始最抽象的设计,最顶层的设计,High Level Design
先画出各个最主要的Components以及它们之间的connection,可以用数据流图,时序