Академический Документы
Профессиональный Документы
Культура Документы
Already Read:
- http://www.tom-e-white.com/2007/11/consistent-hashing.html [consistant
hashing java]
- https://prismoskills.appspot.com/lessons/System_Design_and_Big_Data/Chapter
_07_-_Designing_Google_Maps.jsp [google map]
Concurency:
http://www.ktipsntricks.com/data/ebooks/java/concurrent%20programming%20in%20java
%20design%20principles%20and%20pattern.addison.wesley.pdf
Read Next:
- Constraints:
- Do Some Math: Use following as a benchmark.
- FB user: 1.3 Billion
- Twitter: 650 Million
- New Tweet: 500 Million/ day
- 1 Million 10^6, 1 Billion 10^9
- 1 MegaByte 10^6 Byte (2^20), 1 GigaByte
10^9 Byte (2^30)
1 TeraByte 10^12
- Abstract Design:
- Latency - Is this problem very latency sensitive (Or
in other words, Are requests with high latency and a failing request,
equally bad?). For example, search typeahead suggestions are useless if
they take more than a second.
- Consistency - Does this problem require tight
consistency? Or is it okay if things are eventually consistent?
- Availability - Does this problem require 100%
availability?
- Scalability:
- http://cdn.cs75.net/2012/summer/lectures/9/lecture9.pdf [slide]
- https://www.hiredintech.com/classrooms/system-design/lesson/60
[video]
- Points:
- Response Time Reduce: Algorithm
- Scale architecture: Load Balancer
- Scale DB:
- Vertical Scaling aka Partitioning (Normalization) :
Status & Comment in diff table/db
- Horizontal Scaling aka Shrading: Distribute the
rows of tables.
Problems:
- web crawler
- Sequence generator