System Design整个的High Level流程以及需要掌握的知识
4S Analysis
1. Scenario 场景
需要设计哪些功能,有哪些用例,有多大的访问量等。
2. Service 服务
将整个系统拆分成多个小系统,各司其职。
3. Storage 存储
数据应该如何存储和访问。
4. Scale 升级
遇到瓶颈如何升级,未来可能遇到的问题和解决方案。
Scenario
- 列出所有需要设计的功能
- 选出核心功能,因为时间太多不可能实现所有功能,优先实现核心功能
- 讨论并发用户/请求的数量 DAU和QPS,假设峰值是average的2-3倍
讨论、计算Read QPS 和 Write QPS
QPS = 100 : 自己的笔记本就行
QPS = 1k: 一台服务器
QPS = 1m: 1000台服务器的集群
• 一台 Web Server 约承受量是 1k 的 QPS (考虑到逻辑处理时间以及数据库查询的瓶颈)
• 一台 SQL Database 约承受量是 1k 的 QPS(如果 JOIN 和 INDEX query比较多的话,这个值会更小)
• 一台 NoSQL Database (Cassandra) 约承受量是 10k

本文详细介绍了系统设计的4S分析法,包括场景分析(Scenario)、服务拆分(Service)、存储设计(Storage)和扩展升级(Scale)。强调了在场景分析中确定功能、并发量,服务拆分中遵循单一职责原则,存储设计涵盖SQL与NoSQL数据库的选择,以及扩展升级时的水平和垂直扩展策略。
最低0.47元/天 解锁文章
2423

被折叠的 条评论
为什么被折叠?



