Member-only story
28 Core System Design Concepts, Explained Through the Failures They Prevent
Building blocks of scalable systems — organized by the production problem each one is designed to solve.
System design is often taught as a catalogue of components: load balancers, caches, message queues. Memorizing the catalogue, is not the same as understanding it. The deeper question is always what breaks when a system grows, and how each concept answers a specific failure that appears at scale.
This article surveys 28 foundational concepts, framing each around the problem it exists to solve, the mechanism by which it solves it, and the trade-off it introduces in return. Nothing in distributed systems is free; every technique that buys performance, availability, or scale charges for it somewhere else.
The progression: it follows a single request from the moment it leaves a client, through the layers that route and serve it, down to the storage that persists it and the mechanisms that keep the system consistent under load. The central thesis is that most outages are caused not by missing a clever technique but by skipping a basic one. Understanding when a concept applies matters more than knowing that it exists.
Not a Medium member? Read this article for free here.
More from me: Dev Basics (Git + SQL + Auth) · Auth basics (sessions, JWTs, OAuth) · Career bundle (CV + interviews + career progression) · System…









