NETFLIX, YOUTUBE和SPOTLIGHT系统设计SNAKE分析 |
|||
宏观角度
|
微观角度
|
||
功
能
分
析
|
罗列功能
对所有功能进行排序
设计最重要的功能:播放电影
|
设计某个小模块
比如电影推荐
设计接口和方法
|
|
限
制
条
件
和
假
设
|
USER
|
·
Daily Active Users
·
Average Concurrent Users
·
Peak Users
·
Max Peak Users in 3 month
|
对方法的调用频率进行计算
计算QPS
计算需要多少server达到所需QPS
|
TRAFFIC
|
·
Traffic per user 3mpbs
·
Max Peak Traffic in 3 month
|
||
MEMORY
|
·
Memory per user 10k
·
Max Daily Memory if double in 3 month
|
||
STORAGE
|
·
Total Number of movies
·
Calculate total storage usage considering
different quality of movies
|
||
应
用
架
构
和
算
法
|
应用设计模式的知识设计系统Service结构 (MVC架构)
|
算法和数据结构
|
|
数
据
层
设
计
|
Model DAO不同文件不同数据库选择 (MySQL 和
MongoDB 以及 File)
|
改进算法和数据结构提高QPS
|
|
系
统
演
化
|
改进效率,扩充性,鲁棒性
|
改进效率,扩充性,鲁棒性
|
Sunday, January 17, 2016
Netflix的系统设计
Labels:
系统设计
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment