System Design Roadmap — Step-by-step Learning Path
Designing scalable systems: caching, load balancing, databases and trade-offs
The System Design roadmap
- Networking & Web Fundamentals — beginner
- OSI Model & TCP/IP Basics — beginner
- DNS — beginner
- HTTP/HTTPS & REST Basics — beginner
- TCP vs UDP — beginner
- Proxies & Reverse Proxies — beginner
- Latency vs Throughput — beginner
- Core System Design Concepts — beginner
- Client-Server Architecture — beginner
- Scalability Basics (Vertical vs Horizontal) — beginner
- Availability & Reliability Basics — beginner
- Performance Metrics (Latency, Throughput, P99) — beginner
- Back-of-the-Envelope Capacity Estimation — beginner
- Load Balancing — intermediate
- Load Balancing Algorithms — intermediate
- Layer 4 vs Layer 7 Load Balancing — intermediate
- Health Checks & Failover — intermediate
- Global Server Load Balancing (GSLB) — intermediate
- Caching — intermediate
- Caching Fundamentals — intermediate
- Cache Placement (Client, CDN, Server) — intermediate
- Cache Invalidation Strategies — intermediate
- Cache-Aside, Write-Through & Write-Back — intermediate
- Content Delivery Networks (CDN) — intermediate
- Distributed Caching (Redis/Memcached) — intermediate
- Databases & Storage at Scale — intermediate
- SQL vs NoSQL — intermediate
- Relational DB Design & Normalization — intermediate
- NoSQL Data Models — intermediate
- Database Indexing — intermediate
- Database Replication — intermediate
- Database Sharding & Partitioning — intermediate
- Consistent Hashing — intermediate
- ACID vs BASE — intermediate
- Distributed Transactions (2PC & Saga) — advanced
- Blob/Object Storage — intermediate
- Consistency & Consensus — advanced
- CAP Theorem — advanced
- PACELC Theorem — advanced
- Consistency Models — advanced
- Quorum-Based Systems — advanced
- Distributed Consensus (Paxos & Raft) — advanced
- Leader Election — advanced
- Asynchronous Communication & Messaging — intermediate
- Synchronous vs Asynchronous Communication — intermediate
- Message Queues (Kafka, RabbitMQ, SQS) — intermediate
- Publish/Subscribe Systems — intermediate
- Event-Driven Architecture — intermediate
- WebSockets & Long Polling — intermediate
- gRPC vs REST vs GraphQL — intermediate
- Architectural Patterns — advanced
- Monolith vs Microservices — advanced
- Service-Oriented Architecture (SOA) — advanced
- API Gateway — advanced
- Service Discovery — advanced
- Circuit Breaker Pattern — advanced
- Bulkhead Pattern — advanced
- CQRS — advanced
- Event Sourcing — advanced
- Saga Pattern for Distributed Transactions — advanced
- Distributed Systems Reliability — advanced
- Idempotency — advanced
- Rate Limiting Algorithms — advanced
- Heartbeats & Failure Detection — advanced
- Distributed Locks — advanced
- Chaos Engineering — advanced
- Security at Scale — advanced
- Authentication & Authorization at Scale — advanced
- API Security & Rate Limiting — advanced
- Data Encryption At Rest & In Transit — advanced
- DDoS Protection — advanced
- Data Privacy & Compliance Basics — advanced
- Observability & Operations — advanced
- Monitoring & Metrics — advanced
- Centralized Logging — advanced
- Alerting — advanced
- Distributed Tracing — advanced
- Capacity Planning — advanced
- Backup & Disaster Recovery — advanced
- System Design Interview Practice & Case Studies — advanced
- Framework for Approaching Design Interviews — advanced
- Design a URL Shortener — advanced
- Design a Rate Limiter — advanced
- Design a Distributed Cache — advanced
- Design a Chat Application — advanced
- Design a Notification System — advanced
- Design a News Feed System — advanced
- Design a Search Autocomplete System — advanced
- Design a Video Streaming Service — advanced
- Design a Ride-Sharing App — advanced
- Design an E-commerce Checkout & Inventory System — advanced
- Capstone: Full Mock System Design Interview — advanced