System Design Building Blocks
Building blocks are the components you assemble after requirements are clear. For each block, know what problem it solves, when it fails, what it costs, and which operational metric proves it is healthy.
How to Choose
Use the diagram as a first-pass map, then validate the choice against workload shape:
| Pressure | First question | Common candidates |
|---|---|---|
| More reads than writes | Can repeated reads reuse the same answer? | Cache, CDN, read replica, load balancer |
| Spiky writes or slow consumers | Can producers and consumers move at different speeds? | Queue, stream, pub/sub |
| Data is too large or uneven | Is the problem volume, hot keys, or geographic spread? | Sharding, replication, blob storage, time-series storage |
| Abuse or unsafe access | Where should policy be enforced before backend work starts? | API gateway, rate limiter, reverse proxy/CDN, WAF |
| Coordination risk | What invariant must multiple nodes agree on? | Consensus, id generation, locking, leases |
Study Anchors
Start with Load balancer, Caching, Message queue vs stream, Sharding, Replication, and Rate limiter.
Then add API gateway, Blob / Object Storage, and Bloom Filter for edge policy, large-object delivery, and probabilistic pre-checks.
How to Study
For each building block, practice this answer shape:
- State the pressure it solves: latency, throughput, durability, fanout, abuse, consistency, or cost.
- Place it in the request or data path and name the component that remains authoritative.
- Give one concrete workload example with rough scale assumptions.
- Discuss failure modes, operational signals, and rollback or degradation behavior.
- Compare it with the nearest alternative so the choice does not sound memorized.
In interviews, the strongest answers usually combine blocks. For example, uploads often use an API gateway to issue a presigned URL, object storage for bytes, a metadata database for ownership and status, a queue for processing, and a CDN for hot downloads.
Mark this page when you finish learning it.
Last updated on
Spotted something unclear or wrong on this page?