System Design Approaches
9 chaptersThis page contains all chapters in this theme. Open chapters in sequence or use this page as a section map.
How the part about approaches to system design works
Original ContenteasyIntroductory chapter: Why know the different design approaches, how the section is structured, and how to use it as a learning route.
Open chapterDesign principles for scalable systems
Original ContentmediumScale Cube, CAP theorem, sharding, replication, caching, CQRS, persistence patterns.
Open chapterTraffic Load Balancing (Load Balancing)
Original ContentmediumL4 vs L7 routing, health checks, connection draining, GSLB patterns, and service mesh balancing in Kubernetes.
Open chapterBalancing algorithms: Round Robin, Least Connections, Consistent Hashing
Original ContentmediumPractical analysis of popular balancing algorithms, their trade-offs and recommendations for choosing for stateless/stateful loads.
Open chapterCaching strategies: Cache-Aside, Read-Through, Write-Through, Write-Back
Original ContentmediumPractical analysis of the main cache patterns, latency/consistency trade-offs and choice of strategy for different workloads.
Open chapterReplication and sharding
Original ContentmediumHow to design replication and sharding: topologies, read/write path, rebalancing, hot shards, consistency and operational trade-offs.
Open chapterData Consistency Patterns and Idempotency
Original ContentmediumHow to choose a consistency model and implement idempotency in APIs, event processing and background tasks.
Open chapterEvent-Driven Architecture: Event Sourcing, CQRS, Saga
Original ContentmediumPractical 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 chapterFault Tolerance Patterns: Circuit Breaker, Bulkhead, Retry
Original ContentmediumPractical analysis of resilience patterns for distributed systems: how to limit cascading failures and manage service degradation.
Open chapter