8 guides
Data and consistency
Start here for transactions, CAP tradeoffs, isolation, replicas, sharding, and eventual consistency.
Learning path
A curated path through 61 backend system design guides, built around real production tradeoffs instead of abstract architecture diagrams.
8 guides
Start here for transactions, CAP tradeoffs, isolation, replicas, sharding, and eventual consistency.
7 guides
Diagnose query explosions, tune concurrency and pools, and prepare replicas, migrations, backups, and recovery.
9 guides
Diagnose and safely remediate slow database workloads through plans, statistics, indexes, MVCC, locking, partitioning, compatible schema changes, and evidence-driven recovery.
7 guides
Learn how production systems handle failures, retries, duplicate work, lock contention, overload, and recovery.
11 guides
Follow one failure chain from durable event publication through delivery guarantees, duplicate-safe consumers, dead-letter recovery, and Saga compensation.
7 guides
Follow one production incident from user-impact detection through metrics, logs, traces, telemetry pipelines, SLO alerting, mitigation, and verified recovery.
9 guides
Design deadlines, resource isolation, bounded work, admission control, degradation, health checks, and evidence-driven incident response for overloaded production systems.
5 guides
Study how requests reach backend services and how public API contracts stay stable over time.
Start here
These articles are the strongest entry points into the system design cluster.
System Design Jun 28, 2026 5 min read
Learn how database indexes work, why they speed up reads, when they slow down writes, and how backend developers should choose indexes.
System Design Jul 1, 2026 6 min read
Learn the N+1 query problem in backend apps, including ORM loading, SQL examples, eager loading, batching, joins, query counts, and fixes.
System Design Jul 1, 2026 8 min read
Learn database connection pooling for backend systems, including pool size, timeouts, leaks, max connections, queues, monitoring, and common mistakes.
System Design Jul 1, 2026 7 min read
Learn database migration rollback strategies, including backward-compatible changes, expand-contract migrations, backups, deploy order, and recovery plans.
System Design Jun 29, 2026 5 min read
Learn common backend caching strategies, including cache-aside, write-through, write-behind, TTLs, invalidation, and cache stampede risks.
System Design Jun 29, 2026 5 min read
Learn how message queues work in backend systems, including producers, consumers, retries, dead-letter queues, ordering, and idempotency.
System Design Jul 29, 2026 11 min read
Prevent database and message broker dual-write failures with a transactional outbox, PostgreSQL locking, and Java and Node.js publishers.
System Design Jul 29, 2026 12 min read
Compare at-most-once, at-least-once, and exactly-once messaging by tracing producer, broker, consumer, acknowledgment, and side-effect failures.
System Design Jul 29, 2026 11 min read
Make at-least-once message processing duplicate-safe with PostgreSQL unique constraints, atomic business updates, and Java and Node.js consumers.
System Design Jul 29, 2026 12 min read
Design dead-letter handling with bounded retries, failure metadata, alerting, approved replay, and duplicate-safe Java and Node.js recovery workflows.
System Design Jul 29, 2026 11 min read
Coordinate cross-service workflows with Saga choreography or orchestration, durable state, idempotent steps, compensation, and manual recovery.
System Design Aug 2, 2026 12 min read
Learn how logs, metrics, traces, and events work together to diagnose backend failures, protect telemetry quality, and verify recovery.
System Design Aug 2, 2026 11 min read
Design searchable JSON logs and correlation IDs that connect requests, messages, traces, and failures without leaking secrets or exploding cost.
System Design Aug 2, 2026 11 min read
Use RED, USE, and the four golden signals to diagnose request and resource failures with PromQL, safe labels, histograms, and exemplars.
System Design Aug 2, 2026 10 min read
Trace backend work across HTTP and message queues with W3C context, safe baggage, meaningful spans, sampling boundaries, and broken-trace tests.
System Design Aug 2, 2026 11 min read
Build a resilient vendor-neutral telemetry pipeline with OTLP receivers, memory limits, batching, redaction, retries, queues, and self-monitoring.
System Design Aug 2, 2026 11 min read
Turn user journeys into measurable SLIs, realistic SLOs, error budgets, and multi-window burn-rate alerts that page on sustained impact.
System Design Aug 2, 2026 11 min read
Follow an evidence-driven incident runbook from SLO alert and triage through metrics, traces, logs, mitigation, recovery verification, and postmortem.
System Design Aug 2, 2026 11 min read
Design backend systems that prevent, contain, degrade through, recover from, and verify failures while preserving user objectives and capacity.
System Design Aug 2, 2026 10 min read
Design end-to-end request budgets that distinguish hop timeouts, propagated deadlines, cooperative cancellation, and durable side effects under backend overload.
System Design Aug 2, 2026 10 min read
Contain backend failures by isolating concurrency, threads, connection pools, and queues across priorities, tenants, operations, and dependencies.
System Design Aug 2, 2026 11 min read
Control overload with explicit demand, bounded buffering, queue age, rejection, expiry, and end-to-end flow policies across APIs, streams, and brokers.
System Design Aug 2, 2026 10 min read
Protect backend latency and useful throughput with explicit admission, deliberate load shedding, and evidence-tuned concurrency limits.
System Design Aug 2, 2026 10 min read
Design explicit fallback modes that preserve business invariants, authorization, freshness contracts, and observable recovery under dependency failure.
System Design Aug 2, 2026 10 min read
Design Kubernetes startup, liveness, and readiness probes that route safely, recover local deadlocks, and avoid overload-driven restart storms.
System Design Aug 2, 2026 10 min read
Run an evidence-driven backend overload response from page and user impact through mitigation, controlled recovery, and durable verification.
System Design Aug 4, 2026 11 min read
Learn how to diagnose database query performance using user impact, execution plans, planner estimates, I/O, locks, MVCC, connection pools, and safe production validation.
System Design Aug 4, 2026 10 min read
Learn to read PostgreSQL EXPLAIN plans safely, including costs, estimated and actual rows, loops, scans, joins, sorts, buffers, WAL, and production boundaries.
System Design Aug 4, 2026 10 min read
Learn how query planners estimate rows using statistics, selectivity, histograms, most-common values, correlation, extended statistics, and production validation.
System Design Aug 4, 2026 10 min read
Learn to design composite, covering, and partial PostgreSQL indexes from real query predicates, ordering, projections, selectivity, and write-cost evidence.
System Design Aug 4, 2026 10 min read
Learn how PostgreSQL MVCC, snapshots, dead tuples, autovacuum, visibility maps, freezing, HOT updates, and table or index bloat affect backend performance.
System Design Aug 4, 2026 11 min read
Learn to diagnose PostgreSQL lock contention, blockers, waiters, long transactions, idle-in-transaction sessions, pool exhaustion, and safe cancellation.
System Design Aug 4, 2026 10 min read
Learn PostgreSQL table partitioning, partition keys, pruning, lifecycle maintenance, indexes, constraints, prepared queries, and production validation.
System Design Aug 4, 2026 11 min read
Learn expand-contract database migrations, compatible deploy ordering, bounded backfills, concurrent indexes, constraint validation, locking, and safe production rollout.
System Design Aug 4, 2026 10 min read
Use a production runbook to connect user impact, query fingerprints, waits, plans, estimates, buffers, locks, MVCC, pools, mitigations, and verified recovery.
System Design Jun 29, 2026 5 min read
Learn what database transactions are, why ACID matters, how commits and rollbacks work, and what backend developers should know.
System Design Jul 25, 2026 9 min read
Learn what consistency, availability, and partition tolerance mean during failures, why pick-two is misleading, and how PACELC improves the model.
System Design Jul 25, 2026 9 min read
Compare database isolation levels, concurrency anomalies, PostgreSQL and MySQL behavior, and safe Spring and Node.js transaction patterns.
System Design Jul 25, 2026 9 min read
Learn how database read replicas work, where replica lag breaks correctness, and how to route reads safely in Spring and Node.js services.
System Design Jul 25, 2026 9 min read
Design database backups around RPO and RTO, compare logical, physical, snapshot, and PITR methods, and build restore drills that prove recovery.
System Design Jul 25, 2026 9 min read
Learn why database deadlocks happen, how PostgreSQL and MySQL detect them, and how to prevent and retry them safely in Java and Node.js.
System Design Jun 29, 2026 5 min read
Learn how the circuit breaker pattern protects backend services from cascading failures, with closed, open, and half-open states.
API Design Jun 29, 2026 5 min read
Learn what an API gateway does in backend architecture, including routing, authentication, rate limiting, observability, and tradeoffs.
How to study
System design becomes easier when you connect patterns to concrete pressure: read latency, write throughput, query count, connection pressure, duplicate side effects, stale data, overloaded dependencies, and operational recovery.
Use the topic cluster as a map. If an article mentions retries, queues, idempotency, or transactions, follow those links and compare why each pattern exists.
For the broader index of all site clusters, browse Topics.
FAQ
Start with database indexes, N+1 query diagnosis, transactions, connection pooling, caching, queues, and rate limiting. These topics appear in real backend systems before more advanced distributed architecture patterns.
No. The guides are written for practical backend work, but they also help with interview preparation because they explain tradeoffs, failure modes, and implementation details.
Read one cluster at a time, follow the related links inside each article, and compare patterns that solve similar problems, such as retries, idempotency, queues, and circuit breakers.
Usually not. Small systems should start simple. These guides help you recognize when a pattern becomes worth its added operational complexity.