Advanced
System Design Fundamentals
Estimate, decide, defend.
The method for a high-level design: requirements, capacity estimation with stated assumptions, the building blocks — load balancing, caching, replication, sharding, queues — and the trade-offs that make a design a decision rather than a diagram.
9 lessons written2 modules~2h reading
After this course you can
- Run a 45-minute design from requirements to a defended architecture
- Estimate storage, QPS and bandwidth and show the arithmetic
- Use the building blocks and name what each one costs
- Explain CAP and consistency models without the folklore
Curriculum
9 lessons · outlined lessons show their plan01
The design methodClarify, estimate, sketch, deepen, defend — the order that keeps a design on the part that breaks, with a requirement that rules something out and a minute budget for each phase.11 minCapacity estimationAssumptions first, a day as 100,000 seconds, storage and bandwidth — and the numbers to know, measured: a map lookup in nanoseconds, a real network hop a million times slower.12 minStating a trade-offWe will X, it costs Y, we accept because Z, we would revisit if W — and the condition for revisiting is what almost nobody says.11 minMethod
02
Load balancing and cachingOne slow server took round robin's p99 to 556 ms and least-outstanding's to 32 ms; cache layers, and the cache-aside race that caches a stale value after a correct update.13 minReplication, partitioning and shardingReplica lag and its anomalies, hash mod N moving 80% of keys against consistent hashing's 19%, virtual nodes, and the hot tenant no hash can spread.14 minCAP, consistency and consensusWhat CAP actually says, a quorum simulation where R + W > N removes stale reads and refuses writes in a partition, consistency models, PACELC, and Raft in one page.14 minQueues and asynchronous designAn email outage that failed a synchronous checkout and did not touch an asynchronous one, the outbox, what queues guarantee, dead letters, and the workflow that is a state machine.13 minChoosing a data storeChoose from the access pattern, not the feature list — and why relational is the default that answers questions you have not thought of yet.12 minObject storage, CDNs and searchThree components that each take a job off your service and leave you a copy of something. The copy is the cost.11 min