Courses
Building Scalable Services

Make a service fast under load and keep it that way: caches and their invalidation, queues and the workers behind them, partitions and the key that spreads the load, fan-out, and search.
- Islands
- 4
- Lessons
- 24
- Exercises
- 140
DebugCode orderFill blankMultiple choiceShort answerTapTrace
Start the first lesson
Island 1Write policies and what each can lose, the stampede when a hot key expires, sizing a cache for its working set, and invalidating copies you cannot see.
- Cache-Aside, Write-Through, Write-Behind5 exercises, 6 min
- The Stampede5 exercises, 6 min
- Sizing and Eviction5 exercises, 6 min
- Invalidation at Scale5 exercises, 6 min
- Checkpoint: Caching in DepthCheckpoint7 exercises, 6 min
- Boss: The Pricing ServiceBoss8 exercises, 9 min
Island 2A work queue against a stream, consumer groups and the visibility window, work that must happen later, and the outbox that keeps a database write and its event together.
- A Work Queue or a Stream5 exercises, 5 min
- Consumer Groups and the Visibility Window5 exercises, 6 min
- Work That Must Happen Later5 exercises, 5 min
- The Transactional Outbox5 exercises, 6 min
- Checkpoint: Queues and WorkersCheckpoint7 exercises, 6 min
- Boss: The Order PipelineBoss8 exercises, 9 min
Island 3How keys find their partition, what moves when a node joins, the query that names no key, the write that spans two partitions, and the tenant that is bigger than the rest combined.
- What Moves When a Node Joins5 exercises, 6 min
- The Query That Names No Key5 exercises, 6 min
- The Write That Spans Two Partitions5 exercises, 6 min
- The Tenant Bigger Than the Rest5 exercises, 6 min
- Checkpoint: Partitioning and RebalancingCheckpoint7 exercises, 6 min
- Boss: The Multi-Tenant StoreBoss8 exercises, 9 min
Island 4What a write costs when it must reach many readers, the inverted index that makes text searchable, keeping that index in step with the database, and the ranking that trades relevance for freshness.
- Fan-out by the Numbers5 exercises, 6 min
- The Inverted Index5 exercises, 6 min
- Keeping the Index in Sync5 exercises, 6 min
- Relevance Against Freshness5 exercises, 6 min
- Checkpoint: Fan-out and SearchCheckpoint7 exercises, 6 min
- Boss: Marketplace SearchBoss8 exercises, 9 min