Show Menu
Cheatography

System Design Cheat Sheet (DRAFT) by

System Design details

This is a draft cheat sheet. It is a work in progress and is not finished yet.

SCALE FROM ZERO TO MILLIONS OF USERS

Step 1 - With the growth of the user base, one single applic­­ation server cannot handle the traffic anymore. We put the applic­­ation server and the database server into two separate servers.

Step 2 - The business continues to grow, and a single applic­­ation server is no longer enough. So we deploy a cluster of applic­­ation servers.

Step 3 - Now the incoming requests have to be routed to multiple applic­­ation servers, how can we ensure each applic­­ation server gets an even load? The load balancer handles this nicely.

Step 4 - With the business continuing to grow, the database might become the bottle­­neck. To mitigate this, we separate reads and writes in a way that frequent read queries go to read replicas. With this setup, the throughput for the database writes can be greatly increased.

Step 5 - Suppose the business continues to grow. One single database cannot handle the load on both the inventory table and user table. We have a few options:

1. Vertical scaling. Adding more power (CPU, RAM, etc.) to the database server. It has a hard limit.
2. Horizontal scaling by adding more database servers.
3. Adding a caching layer to offload read requests.

Step 6 - Now we can modularize the functions into different services. The archit­­ecture becomes servic­­e-­o­r­iented / micros­­er­vice.

yelp

CHAPTER 4: DESIGN A RATE LIMITER

design S3

DESIGN A URL SHORTENER

typehead

News Feed

 

BACK-O­F-T­HE-­ENV­ELOPE ESTIMATION

DAU
QPS
STORAGE

Memcached vs Redis

设计youtube

chat system

DESIGN A WEB CRAWLER

DESIGN A UNIQUE ID GENERATOR

DESIGN CONSISTENT HASHING

 

设计一个通知系统

DESIGN GOOGLE DRIVE

DESIGN A KEY-VALUE STORE

How to Crack Any System Design Interview

A FRAMEWORK FOR SYSTEM DESIGN INTERVIEWS

estima­tion: dau, qps, storage
API
high level design diagram
data model and schema
articulate the problem

how to prepare system design

Live Streaming Platform Work