System Design SpaceSystem Design Space
Back to table of contents

System Design Approaches

10 chapters

This page contains all chapters in this theme. Open chapters in sequence or use this page as a section map.

1

How the part about approaches to system design works

Original Contenteasy

Introductory chapter: Why know the different design approaches, how the section is structured, and how to use it as a learning route.

Open chapter
2

Back-of-Envelope Estimation

Original Contentmedium

A practical framework for quick sizing: traffic, RPS/QPS, RAM, persistent storage, latency budgets, and identifying the first bottleneck.

Open chapter
3

Design principles for scalable systems

Original Contentmedium

Scale Cube, CAP theorem, sharding, replication, caching, CQRS, persistence patterns.

Open chapter
4

Traffic Load Balancing (Load Balancing)

Original Contentmedium

L4 vs L7 routing, health checks, connection draining, GSLB patterns, and service mesh balancing in Kubernetes.

Open chapter
5

Balancing algorithms: Round Robin, Least Connections, Consistent Hashing

Original Contentmedium

Practical analysis of popular balancing algorithms, their trade-offs and recommendations for choosing for stateless/stateful loads.

Open chapter
6

Caching strategies: Cache-Aside, Read-Through, Write-Through, Write-Back

Original Contentmedium

Practical analysis of the main cache patterns, latency/consistency trade-offs and choice of strategy for different workloads.

Open chapter
7

Replication and sharding

Original Contentmedium

How to design replication and sharding: topologies, read/write path, rebalancing, hot shards, consistency and operational trade-offs.

Open chapter
8

Data Consistency Patterns and Idempotency

Original Contentmedium

How to choose a consistency model and implement idempotency in APIs, event processing and background tasks.

Open chapter
9

Event-Driven Architecture: Event Sourcing, CQRS, Saga

Original Contentmedium

Practical analysis of the event-driven approach: how to design event flows, when to use Event Sourcing and CQRS, and how to implement Saga for distributed transactions.

Open chapter
10

Fault Tolerance Patterns: Circuit Breaker, Bulkhead, Retry

Original Contentmedium

Practical analysis of resilience patterns for distributed systems: how to limit cascading failures and manage service degradation.

Open chapter