Please enable JavaScript.
Coggle requires JavaScript to display documents.
System Design Interview By Alex Xu - Coggle Diagram
System Design Interview
By Alex Xu
Scaling from zero to one million users
Single Server
Single database
SQL vs NoSQL
Vertical Scaling vs Horizontal Scaling
Load balancer
Techniques / Algorithms
Weighted Round Robin
Least Connection
Weighted Least Connection
Resource Based (Adaptive)
Resource Based (SDN Adaptive)
Fixed Weighting
Weighted Response Time
Source IP Hash
Round Robin
Evenly distributes incoming traffic among web servers
Database replication
Advantages of database replication
Better performance
Reliability
High availability
Cache
Is a temporary storage area for frequently accessed data
Considerations
Expiration policy
Consistency
Eviction Policy
Mitigating failures
Decide when to use cache
CDN
Content Delivery Network
Network geographically dispersed servers to deliver static content
Considerations
Cost
Setting an appropiate cache expiry
CDN Fallback
Invalidating files
Stateless Architecture
Shared data could be in a Relational / Non Relational database
Data Centers
geoDNS is a DNS service that allows domain names to be resolve to IP addresses based on the user location.
Logging, Metrics, automation
Database Scaling
Vertical Scaling
Adding more power in CPU, RAM, DISK
Much more expensive
Single Point of Failure: SPF
Horizontal Scaling
Also know as sharding
Challenges
Resharding data
Celebrity problem
Join and De-normalization
Back to the envelope estimation
The power of two
Latency numbers that every programmer should know
Availability numbers
A framework for system design interview
Step1 -
Step 2 -
Step 3 -
Step 4 -