Topic
System Design
Distributed systems building blocks: load balancing, replication, queues, edge caching, sharding, and capacity math, plus the failure mode each one trades away.
Back-of-the-envelope capacity estimation for system design
Back of the envelope estimation for system design: turn daily active users into QPS, bandwidth, storage, and pool sizes, then find what saturates first.
Read article →CDN and edge caching: what belongs at the edge
CDN edge caching is HTTP caching at scale. Which Cache-Control directives matter, what never belongs at the edge, and how a 95% hit rate changes the origin.
Read article →Change data capture: keep a search index in sync without dual writes
Updating the database and the search index in one request is a dual write that drifts. Use change data capture or an outbox to derive the index instead.
Read article →Database replication and failover: what a standby promises
A replica is not a backup and a failover is not free. Database replication and failover explained: sync vs async commit, replication lag, safe promotion.
Read article →Database sharding vs partitioning: when one database is not enough
Database sharding vs partitioning: one splits a table inside a database, the other splits data across them. What each gives up and how to pick a shard key.
Read article →Design a notification system: fan-out, retries, and consent
Design a notification system that fans one event out to email, push, and SMS without double-sending, blocking on a dead provider, or messaging opted-out users.
Read article →Design a URL shortener: from one API to a billion redirects
Design a URL shortener with real numbers: 40 writes and 4,000 redirects a second, base62 keys, a cache-aside redirect path, and the 301 vs 302 analytics trade.
Read article →Fan-out on write vs fan-out on read: designing a social feed
Fan-out on write vs fan-out on read, with the arithmetic: why push wins for ordinary accounts, where a 10M-follower post explodes, and how a hybrid merges both.
Read article →Load balancing algorithms: round robin to consistent hashing
Load balancing algorithms are bets about your fleet. Round robin assumes equal servers, least connections dodges slow ones, consistent hashing keeps keys put.
Read article →Queue-based load leveling: absorb write spikes without losing work
Queue-based load leveling puts a durable queue between a write spike and the workers that drain it. Do the backlog arithmetic and watch the metric that matters.
Read article →System design fundamentals: nine building blocks
System design fundamentals as nine building blocks: name the pressure, apply the pattern, count what it costs, and learn the failure mode each block introduces.
Read article →