CrackKit
0% complete
System Design Interview

The component vocabulary

Before designing systems you need vocabulary — the standard components every architecture is assembled from. This lesson is a fast tour of the boxes you'll draw in every diagram, and what each one does.

The components

client loadbalancer server server server cache DB queue
  • Client — browser/mobile app; initiates requests.
  • DNS — turns a domain into an IP; the first hop.
  • Load balancer — spreads traffic across many identical servers (section 2).
  • Application server — runs your business logic. Made stateless so any server can handle any request.
  • Database — durable source of truth. SQL or NoSQL (section 3).
  • Cache — fast in-memory store (Redis) for hot data, to spare the database (section 4).
  • CDN — geographically distributed cache for static assets (section 2).
  • Message queue — buffers work for asynchronous processing (Kafka, SQS; section 4).
  • Object storage — cheap blob store for files/media (S3).

How they fit together

The canonical web architecture, request to response:

client → DNS → load balancer → app servers → cache → database
                                     ↓
                            queue → workers (async jobs)

A read checks the cache first, falls back to the database. A write updates the database and often enqueues follow-up work (send email, update search index) to a queue processed by background workers — keeping the user's request fast.

The two scaling directions

Every component scales one of two ways: vertically (a bigger machine) or horizontally (more machines). Horizontal scaling — adding commodity servers behind a load balancer — is what makes systems handle internet scale, and it's why statelessness matters. Section 2 covers this in depth.

These ~9 components are the entire alphabet of system design. Every "design X" answer is just these boxes, arranged and connected to meet the requirements. Learn what each does and its trade-offs, and you can assemble any system. The next lesson adds the last foundational skill: estimating scale with quick math.