I built this series as a system design reference - the vocabulary organised around explicit trade-offs rather than canonical answers:

  • scalability
  • consistency models
  • sharding
  • caching

Chapter 1 covers the concepts and vocabulary everything else in the series links back to. Each subsequent chapter is a worked design problem:

  • stated requirements
  • explicit trade-offs
  • a final design

The fundamentals chapter makes the reasoning in each one clearer.

Every design choice exchanges one property for another:

  • strong consistency costs latency
  • horizontal scaling costs coordination
  • microservices cost operational overhead

The series

Chapter 1 - Fundamentals (coming soon)

Core concepts (scalability, CAP theorem, consistency models, fault tolerance), building blocks (load balancers, caches, databases, message queues), architecture patterns, and a 6-step framework for working through design problems.

Chapter 2 - URL Shortener (coming soon)

Base62 ID generation, the 301 vs 302 redirect trade-off, NoSQL storage, and Redis caching for a write-once system reading at 100K+ req/s.

Chapter 3 - Rate Limiter (coming soon)

Token bucket vs sliding window vs fixed window algorithms; where it sits in the request path; distributed rate limiting across multiple nodes.

Chapter 4 - Distributed Cache (coming soon)

Cache invalidation strategies, eviction policies, thundering herd, and cache-aside vs write-through vs write-behind patterns.

Chapter 5 - Notification System (coming soon)

Fan-out, multi-channel delivery (push, email, SMS), retry and deduplication, and the trade-off between fan-out-on-write and fan-out-on-read.

Chapter 6 - News Feed (coming soon)

Fan-out-on-write vs fan-out-on-read; the consistency vs latency trade-off that defines most feed systems; ranking and relevance at scale.

Chapter 7 - Distributed Job Scheduler (coming soon)

Idempotency, exactly-once vs at-least-once delivery, leader election, and fault tolerance for scheduled and recurring jobs.


Notes

  1. Each chapter links back to Chapter 1 for any concept it uses rather than re-explaining it - read Chapter 1 first if a concept in a design chapter is unclear.
  2. Next: Chapter 1 - Fundamentals (coming soon)