System design concepts, one topic at a time
From caching and sharding to consensus. Pick a topic for the lessons that teach it and the articles, talks and repositories we have collected on it, with credit to the people who wrote them.
- Distributed Systems618Consensus, time, failure and the fundamentals of scale-out.
- Databases150Schemas, indexes, query plans and choosing a store.
- Microservices78Decompose systems into independently deployable services.
- Machine Learning Systems76Recommendations, ranking, feature stores and serving models at scale.
- Observability75Metrics, logs, traces, SLOs and alerting.
- Resilience68Timeouts, retries, circuit breakers, bulkheads and load shedding.
- Caching51Cache-aside, write-through, eviction and invalidation strategies.
- Event Driven Architecture48Loosely coupled services reacting to events.
- Search46Inverted indexes, relevance, autocomplete and search engines.
- Deployment31Releases, feature flags, rollbacks and continuous delivery.
- Load Balancer31Spread traffic across servers with L4/L7 balancing, health checks and algorithms.
- Replication31Leader/follower, multi-leader and leaderless replication.
- Consensus27Raft, Paxos and how replicas agree on one order.
- Database Sharding26Partition data across nodes by key, range or directory.
- Web Security26OWASP risks, XSS, CSRF, CORS and secure design.
- WebSockets24Persistent bidirectional connections for real-time features.
- Kubernetes23Container orchestration, scheduling and service discovery.
- Redis23In-memory data structures for caching, queues and leaderboards.
- Kafka22Distributed commit log for event streaming at scale.
- Storage Engines22Write-ahead logs, B-trees and LSM-trees.
- Consistency Models18Linearizable, causal and eventual consistency explained.
- Payments18Idempotency, ledgers and reliable money movement.
- Rate Limiting17Token bucket, leaky bucket and sliding-window limiters.
- API Gateway14A single entry point for routing, auth and throttling.
- Docker14Package and ship applications as containers.
- HTTP and QUIC14HTTP versions, QUIC, caching headers and web performance.
- CDN12Serve content from edge locations close to users.
- Geospatial10Geohash, quadtree, H3 and location search.
- Time and Ordering10Logical clocks, vector clocks and bounded clock error.
- DNS8How names resolve, TTLs, and DNS-based traffic routing.
- CAP Theorem7Consistency, availability and partition tolerance trade-offs.
- Idempotency7Making retries safe so duplicates do no harm.
- CQRS6Separate read and write models to scale each independently.
- OAuth5Delegated authorization flows for APIs and apps.