Skip to content
BytePatterns

System Design

Scale, cache, shard — and know what each choice costs you.

System Design progress0 / 15
  1. What Is System DesignChoosing which constraint you refuse to break.5m
  2. Vertical vs Horizontal ScalingBuy a bigger machine, or buy more of them.5m
  3. Load BalancingOne front door, many rooms behind it.5m
  4. CachingKeep the answer near whoever keeps asking.5m
  5. Invalidation and EvictionWrong answers age; small caches forget.6m
  6. Content Delivery NetworksDistance is latency you cannot optimise away.5m
  7. Database ReplicationOne writer, many readers, a small delay.6m
  8. Database ShardingSplit the data itself when one box is full.6m
  9. SQL vs NoSQLFixed columns and joins, or flexible documents.6m
  10. Consistency and CAPWhen the network splits, you must pick a side.6m
  11. Message QueuesHand off the work instead of waiting for it.5m
  12. Rate LimitingCap the flow before it caps your service.5m
  13. Designing a REST APIAddress the thing; let the method be the verb.6m
  14. WebSockets and RealtimeKeep the line open instead of redialling.5m
  15. Observability BasicsMetrics say something broke; traces say where.5m