Monday, August 3, 2020

BigTiger: 系统设计的基本方法SNAKE原则

Here is the link. 

The process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. 



How to design NetFlix? 

Top level design:

Scenario:

Necessary: requirement/ assumptions

First step: ask how many users
  5,000,000 daily users
Second step: prediction
  2 - 10 times more - future, 3 months, Netflix - twice more users

125 users
3MBps -> peak bandwidth 3.75 Tb/s 

Storage 
  10KB
3 months later storage 5,000,000 * 2 * 10 = 100GB

Hard disk

14,000 movies
Total storage:

Application: 
service/ algorithms
Step 1: 
Step 2: 

Kilobit (Data)
First step:   

Evolve (How to advance system design?)
Step 1: analysis
  directions:
   Better: limitation
   Broad: scenarios
   Depth: small details

Angles:
  . Property
  

SNAKE:
Scenario
Necessary
Application
Kilobit
Evolve 

Micro: 
recommendations: 
u1 = {m3, m5, m7, m11)


Class Recommender{
}

Necessary (limitation)
prediction

Algorithm & Kilobit 

For movie liked by u1


   







No comments:

Post a Comment