System Design
Master the art of building scalable architecture, from basics to production-grade systems.
Course•39 lessons
Welcome to the System Design. Here you will learn how to design systems that can scale to millions of users.
Curriculum
1
Foundations of System Design
12 articlesClient-Server Architecture Patterns
Read article
The Pillars of Network Communication: IP, TCP, and HTTP
Read article
Real-Time Communication: Polling vs. Streaming
Read article
Real-Time Communication: WebSockets, Polling & Streaming
Read article
Advanced Caching Strategies in Distributed Systems
Read article
Distributed Hashing Strategy
Read article
Latency vs. Throughput: Mastering System Performance Metrics
Read article
Database Replication: Strategies & Scalability
Read article
Designing Resilient Systems: Eliminating Single Points of Failure
Read article
Direct-to-Object-Storage: Pre-signed URLs
Read article
Failover & Health Monitoring: The Heartbeat Pattern
Read article
Global Traffic Routing & Domain Name System (DNS)
Read article
2
Non-Functional Requirements
7 articlesSystem Availability: Designing for Uptime & Reliability
Read article
System Latency: Designing for Speed & Responsiveness
Read article
System Scale: Designing for Growth & High Load
Read article
Consistency in Distributed Systems
Read article
Data Durability & Persistence Guarantees
Read article
Read-Write Ratio
Read article
High Availability & Fault Tolerance
Read article
3
Core Building Blocks
10 articlesLoad Balancing (Intro + Techniques)
Read article
CDN
Read article
Caching Advanced
Read article
Rate Limiting
Read article
Forward Proxy & Reverse Proxy
Read article
Scale Cube
Read article
Idempotency
Read article
Bloom Filters
Read article
Pub/Sub & Event-Driven Architectures
Read article
Monolith vs Microservices
Read article
4