Building Blocks
The components every design is assembled from, and what each one actually buys you.
11 topics
DNS & Load Balancing
How a request finds a server — DNS resolution, L4 versus L7 balancing, health checks, and the algorithms worth naming.
core20 minReverse Proxies & API Gateways
The layer that owns TLS, auth, rate limiting and routing, so that every service behind it doesn't have to.
core20 minCDN & Edge Delivery
Moving bytes and sometimes compute closer to users, and the cache-key and invalidation rules that decide whether it works.
core20 minMessage Queues & Brokers
Decoupling a producer from a consumer in time — what a queue actually buys you, and the delivery guarantees you have to design around.
core25 minEvent Logs & Stream Processing
Kafka's model — a partitioned, replayable, ordered log — and when that's the right thing to draw instead of a queue.
core25 minObject Storage
S3-class storage as a design primitive — cheap, effectively infinite, immutable-ish blobs that never belong in your database.
core15 minSearch Engines
Inverted indexes as a separate system — when Postgres full-text stops being enough, and the sync problem you inherit the moment you add one.
core20 minBackground Jobs & Schedulers
Work that happens outside a request — job runners, cron at scale, and why "run this once at 3am" is harder than it sounds.
core20 minPicking the Datastore in a Design
A decision procedure for the storage box on the whiteboard — start at Postgres, and name what would have to be true to move.
core20 minCache Invalidation
Deciding when cached data stops being allowed to answer, which is the half of caching that actually goes wrong.
core25 minsharedCaching Strategies
The read/write patterns behind every cache, and the consistency you trade away for each.
core25 minshared