System design
Learning paths
Topics
Roadmaps
Games
Search articles, topics...
⌘K
Library
Topics
Networking
TCP, HTTP, TLS and DNS: what happens between the client and your code.
Path
System design
Distributed systems
Articles
Level
Foundation
Core
Senior
Staff
Design questions only
Patterns
Serve from the edge
Bytes first, pointer last
Narrow
Reliability
1
Load balancing
3
Caching
2
Real-time
2
API design
2
Security
1
Files and media
1
13 pages
Load balancing
System design · Foundation · 15 min
Load balancing
CDNs
System design · Core · 15 min
Caching
Real-time connections at scale
System design · Core · 13 min
Real-time
API design
System design · Core · 11 min
API design
Design a video streaming service
System design · Staff · 34 min
Files and media
Caching
Partial failure
Distributed systems · Foundation · 12 min
Reliability
Symmetric vs asymmetric
Articles · Foundation · 9 min
Security
TCP vs UDP vs QUIC
Articles · Foundation · 10 min
HTTP/1.1 vs HTTP/2 vs HTTP/3
Articles · Core · 7 min
Proxy vs reverse proxy vs gateway
Articles · Foundation · 9 min
Load balancing
API design
WebSockets vs SSE vs polling
Articles · Core · 10 min
Real-time
What happens when you type a URL
Articles · Foundation · 10 min
L4 vs L7 load balancing
Articles · Core · 9 min
Load balancing