System design, hands on
Every building block of a large system, as simulations you can play. Predict what will happen, watch it in slow motion, turn on the fix, and compare before and after. Then put the blocks together in the system design labs.
219 hands-on lessonsYour progress is saved in this browser.
Start: App servers →- 1 · PredictCommit to a guess first.
- 2 · WatchSee it break, slowed down at the key moment.
- 3 · FixTurn on one plain-language fix.
- 4 · CompareReal before and after numbers.
1 · The request path
5 modules · 58 lessonsModule 112 lessonsApp serversQueueing, scaling up vs out, worker and connection pools, timeouts, autoscaling, load shedding.Module 211 lessonsLoad balancingMethods, health checks, slow servers, sticky sessions, layer 7 routing, draining, failover.Module 314 lessonsCachingHits and misses, sizing, stale data, stampedes, avalanches, hot keys, write strategies, failover.Module 411 lessonsCDNsEdges near users, TTLs, purging, cache keys, origin shield, big files, absorbing floods.Module 510 lessonsNetworking and DNSRound trips, DNS caching, keep-alive, bandwidth vs latency, packet loss, geo-routing.
2 · Storing data
6 modules · 62 lessonsModule 612 lessonsDatabasesIndexes, transactions, locks, connection pools, N+1, bad queries, normalization.Module 710 lessonsReplicationRead replicas, lag, read-your-writes, sync vs async, failover, split brain.Module 810 lessonsShardingHash vs range, hot shards, resharding, cross-shard queries, choosing the key.Module 910 lessonsChoosing storageKey-value, document, wide-column, graph, CAP, quorums, eventual consistency.Module 1010 lessonsObject storageBlobs, presigned uploads, multipart, metadata, storage classes, CDN delivery.Module 1110 lessonsSearchInverted indexes, keeping in sync, ranking, sharded search, autocomplete.
3 · Working asynchronously
3 modules · 33 lessonsModule 1211 lessonsMessage queuesAsync work, smoothing spikes, retries, dead letters, duplicates, ordering, backpressure.Module 1311 lessonsEvent streamsLogs vs queues, partitions, consumer groups, lag, rebalancing, replay.Module 1411 lessonsBatch and stream processingParallel batch jobs, windows, late events, checkpoints.
4 · Keeping systems healthy
4 modules · 44 lessonsModule 1512 lessonsRate limitingFixed and sliding windows, token buckets, per-user limits, distributed counters.Module 1611 lessonsService calls and resilienceTimeouts, retries and storms, circuit breakers, bulkheads, idempotency.Module 1710 lessonsCoordinationLocks and leases, fencing, leader election, quorums, clocks.Module 1811 lessonsObservabilityPercentiles, metrics, logs, traces, alerts, SLOs and error budgets.