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