📐 Systems Design & Scalability: Sub-Curriculum Index
Welcome to the Systems Design & Scalability curriculum. This track covers large-scale distributed systems design, capacity estimation, high-availability architecture, caching layers, rate limiting, consistent hashing, database partitioning, and fault-tolerant reliability patterns.
Every guide in this series strictly follows a two-part learning format:
- ⚡ Quick Dive: Architecture cheat sheets, calculation quick-formulas, and trade-off comparison tables.
- 📖 Extended Guide: Deep technical breakdowns, mathematical models, component topologies, and real-world system designs.
📚 Complete Curriculum Roadmap
Part 1: System Design Methodology & Foundations
| # | Guide | Primary Topics Covered |
|---|---|---|
| 01 | System Design Playbook | Structured framework for tackling system design interviews and production design proposals. |
| 02 | Requirements Clarification | Functional vs. non-functional requirements, traffic profiles, and SLA/SLO definition. |
| 03 | Capacity Estimation & Back-of-Envelope | QPS calculations, storage projections, network bandwidth math, and memory sizing rules of thumb. |
| 04 | High-Level Design (HLD) | Architecture diagrams, component interaction flows, and API boundary definitions. |
| 05 | Low-Level Design (LLD) | Class diagrams, data models, concurrency control, and schema specifications. |
| 06 | Design Review Checklist | Production readiness review, security auditing, disaster recovery, and operational checklist. |
| 07 | System Design Trade-Offs | Latency vs. Throughput, Consistency vs. Availability, and Read vs. Write heavy architectures. |
| 08 | Trade-Off Analysis Framework | Decision matrices and quantitative evaluation models for choosing architecture components. |
| 09 | Scalability and Performance | Horizontal vs. vertical scaling, stateless services, and eliminating single points of bottleneck. |
| 10 | Reducing Latency | Connection pooling, serialization optimization, proximity caching, and async non-blocking I/O. |
Part 2: Distributed Systems Core Primitives
| # | Guide | Primary Topics Covered |
|---|---|---|
| 11 | CAP Theorem & Distributed Systems | Consistency, Availability, Partition Tolerance, PACELC theorem, and consensus models (Raft/Paxos). |
| 12 | Consistent Hashing | Hash rings, virtual nodes, rehashing mitigation ($O(K/N)$ key movement), and distributed cache balancing. |
| 13 | Load Balancing Fundamentals | L4 vs. L7 load balancing, DNS balancing, hardware vs. software, and health checks. |
| 14 | Load Balancing Use Cases | Real-world patterns: Global Server Load Balancing, reverse proxy tiers, and microservice mesh routing. |
| 15 | Traffic Routing Components | Anycast, Edge Routers, Ingress Controllers, Service Discovery, and Circuit Breaker routing. |
| 16 | API Gateway | Request routing, authentication, rate limiting, telemetry aggregation, and SSL termination. |
| 17 | Backends for Frontends (BFF) | Dedicated BFF layers for Mobile vs. Web vs. Third-Party clients, data aggregation, and payload pruning. |
| 18 | Caching Strategies & Topologies | Cache-Aside, Write-Through, Write-Back, Refresh-Ahead, Eviction policies (LRU, LFU), and Cache Stampede prevention. |
| 19 | Rate Limiting Algorithms | Token Bucket, Leaky Bucket, Fixed Window, Sliding Window Log, and Sliding Window Counter. |
Part 3: Microservices, Storage & Data Systems
| # | Guide | Primary Topics Covered |
|---|---|---|
| 20 | Microservices Architecture | Bounded contexts, service boundaries, independent deployability, and database-per-service patterns. |
| 21 | Essential Components of Microservices | Service discovery (Consul/Eureka), distributed tracing, centralized logging, and config management. |
| 22 | Data Sharing Between Microservices | Synchronous REST/gRPC vs. Asynchronous events, Change Data Capture (CDC), and data duplication patterns. |
| 23 | Message Queues in System Design | Asynchronous task processing, spike absorption, decoupling producers/consumers, and backpressure. |
| 24 | Database Design for Systems | Relational vs. Document vs. Key-Value vs. Graph databases, indexing strategies, and normalization tradeoffs. |
| 25 | Database Replication | Single-Leader, Multi-Leader, and Leaderless (Dynamo-style) replication, replication lag, and failover. |
| 26 | Database Sharding & Partitioning | Horizontal sharding, partition keys, range vs. hash sharding, cross-shard queries, and re-sharding strategies. |
Part 4: Interfaces, Reliability & Fault Tolerance
| # | Guide | Primary Topics Covered |
|---|---|---|
| 27 | Interface & Contract Design | API contracts, schema evolution, backwards compatibility, and Consumer-Driven Contracts (Pact). |
| 28 | REST APIs in System Design | Resource URI modeling, HTTP methods, status codes, filtering/sorting, and idempotency in REST. |
| 29 | Idempotency in Distributed Systems | Idempotency keys, duplicate request deduplication, distributed locks, and safe payment processing. |
| 30 | Reliability and Resiliency | Availability metrics (99.999% "five nines"), MTTR, MTBF, redundancy, and disaster recovery architectures. |
| 31 | Fault-Tolerant System Design | Graceful degradation, bulkheads, timeouts, fallback mechanisms, and chaos engineering principles. |
| 32 | Resilient Retries & Circuit Breakers | Exponential backoff with full jitter, circuit breaker states (Closed, Open, Half-Open), and avoiding retry storms. |
| 33 | Secure System Design | Threat modeling (STRIDE), Zero Trust architecture, least privilege, encryption at rest/in transit, and defense-in-depth. |