Skip to main content
Academy
Intermediate Code District

System design

Design services that scale: caches, queues and databases.

System design is choosing the boxes and arrows behind an app, and knowing how they behave when millions of people show up. This track starts with requirements and honest back-of-the-envelope numbers, grows one server into many behind a load balancer, and adds caches and CDNs. Then it tackles the hard parts: scaling the database, queues and duplicate messages, rate limits, consistency, and seeing inside a running system.

Most lessons are concepts, small numbers and diagrams, with code only where it makes an idea concrete. The track ends with you designing a home feed and a live leaderboard, step by step.

Lessons
14
Time
2 h
Level
Intermediate
  • Bronze open
  • Silver open
  • Gold locked

Ready to prove it?

Three exams are waiting: Bronze, Silver and Gold.

Go to the exams

What you'll be able to do

  • Turn requirements into load estimates with back-of-the-envelope math
  • Scale stateless servers behind a load balancer with health checks
  • Use caches, TTLs and CDNs without serving stale or unreachable content
  • Scale a database with pooling, replicas and, as a last resort, sharding
  • Move slow work to queues and make consumers safe against duplicates
  • Choose consistency per feature and alert only on what users feel

The journey

  1. 1
    Module 1

    From one server to many

    Requirements and estimates, stateless servers behind a load balancer, caches and CDNs.

    0 / 4
  2. 2
    Module 2

    Data and events at scale

    Scale the database, use queues safely, limit traffic, choose consistency and watch it all run.

    0 / 6
  3. 3
    Module 3

    Next steps

    Real-time features, search, multiple regions and cost.

    0 / 4

Quick navigation