System design, explained

Design systems that scale.

Clear, practical explanations of system design, caching, rate limiting, databases and distributed systems, for interviews and for real production work.

$ syllabus --list
01  Fundamentals        5 lessons
02  Patterns            5 lessons
03  Databases           6 lessons
04  Distributed systems  4 lessons
05  Walkthroughs        4 lessons
$ 

The syllabus

24 lessons in 5 modules

  1. Module 01

    Fundamentals

    Estimation, APIs, load balancing, CDNs and the monolith question.

    1. 1.1Back-of-the-Envelope Estimation for System Design4 min
    2. 1.2REST vs gRPC vs GraphQL4 min
    3. 1.3Load Balancing Algorithms Explained2 min
    4. 1.4How CDNs Work4 min
    5. 1.5Microservices vs Monolith: A Decision Framework2 min
  2. Module 02

    Patterns

    Caching, rate limiting, idempotency, messaging and event sourcing.

    1. 2.1Caching Strategies Explained: Cache-Aside, Write-Through and Write-Back3 min
    2. 2.2Rate Limiting Algorithms: Token Bucket, Leaky Bucket and Sliding Windows3 min
    3. 2.3Idempotency Keys: Designing Safe Retries2 min
    4. 2.4Kafka vs RabbitMQ vs SQS2 min
    5. 2.5Event Sourcing and CQRS: When They’re Worth It2 min
  3. Module 03

    Databases

    Choosing a database, indexes, storage engines, isolation, replication and sharding.

    1. 3.1SQL vs NoSQL: How to Choose2 min
    2. 3.2Database Indexing Explained4 min
    3. 3.3B-Trees vs LSM Trees: How Databases Store Data2 min
    4. 3.4ACID and Transaction Isolation Levels4 min
    5. 3.5Database Replication: Leader-Follower, Multi-Leader, Leaderless4 min
    6. 3.6Database Sharding Explained2 min
  4. Module 04

    Distributed systems

    CAP and PACELC, consistent hashing, distributed locks and sagas.

    1. 4.1CAP Theorem and PACELC in Plain English2 min
    2. 4.2Consistent Hashing Explained2 min
    3. 4.3Distributed Locks and Leases4 min
    4. 4.4The Saga Pattern for Distributed Transactions4 min
  5. Module 05

    Walkthroughs

    Classic designs, worked end to end.

    1. 5.1Design a URL Shortener: A System Design Walkthrough2 min
    2. 5.2Designing a Notification System at Scale2 min
    3. 5.3Design a Chat System4 min
    4. 5.4Design a News Feed4 min

Interview prep

The System Design Interview: A Step-by-Step Framework

A step-by-step framework for system design interviews: clarifying requirements, estimates, APIs, data models, high-level design, deep dives and trade-offs.

Read the framework

Independent

Our coverage is never paid for. Advertisers do not choose or review what we publish.

Sourced

We check facts against primary sources and official guidance, and list them on every guide.

Kept current

We revisit guides when facts, prices or rules change, and date every update.