System Design SpaceSystem Design Space
Onboarding
Back to table of contents

System Design Approaches

9 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

Design principles for scalable systems

Original Contentmedium

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

Open chapter
3

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
4

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
5

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
6

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
7

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
8

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
9

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