Skip to main content
system design course

Architecture

How to cut a system into services, and when not to cut it at all.

5 chapters18 lessonsabout 1 hour
0 of 18 lessons readStart the course
  1. One deployable unit vs many small independent services, each with real trade-offs.

    1. What a Monolith Really Is2 min
    2. What Microservices Buy and What They Cost2 min
    3. The Distributed Monolith Trap2 min
    4. How to Actually Migrate3 min
  2. Single entry point for all client traffic. Auth, routing, rate limiting, and aggregation in one layer.

    1. The Front Door2 min
    2. Cross-Cutting Concerns, Done Once2 min
    3. Gateway vs Load Balancer vs BFF3 min
  3. Separate read and write models; store state as an ordered log of events instead of current values.

    1. Splitting Reads from Writes2 min
    2. The Event Log as the Source of Truth2 min
    3. Projections and Replay3 min
    4. When This Is Overkill2 min
  4. Throttle requests per user/IP to protect services from abuse and overload.

    1. Why You Throttle2 min
    2. The Algorithms3 min
    3. Making Limits Hold Across a Fleet2 min
    4. Telling Clients No, Usefully2 min
  5. Automatically stop calling a failing dependency to give it time to recover.

    1. How Failures Cascade2 min
    2. Closed, Open, Half-Open3 min
    3. Tuning and Fallbacks3 min