← Back to System Design overview
System Design tutorials
63 articles · page 3 of 4Hand-written tutorials, ordered as a recommended learning path.
- 41 CQRS Learn how CQRS separates read and write models for better scalability. Covers architecture, implementation patterns, and when CQRS is worth the complexity.
- 42 Event Sourcing Understand event sourcing fundamentals, how it differs from CRUD, when to use it, and the real-world trade-offs you need to consider before adopting it.
- 43 Idempotency Patterns Learn how to design idempotent APIs and achieve exactly-once semantics using idempotency keys, deduplication stores, and transactional outbox patterns.
- 44 Saga Pattern Learn how the saga pattern coordinates transactions across microservices using choreography and orchestration, with compensation logic for rollbacks.
- 45 Service Mesh Understand how service meshes handle traffic management, observability, and security in microservices using sidecar proxies like Envoy and platforms like Istio.
- 46 Search Autocomplete A system design deep dive into building search autocomplete: trie data structures, ranking algorithms, caching strategies, data collection pipelines, and real-time update mechanisms.
- 47 CAP Theorem A pragmatic look at the CAP theorem: what consistency and availability mean for real workloads, and how PACELC describes the trade-offs better.
- 48 Consistent Hashing How consistent hashing actually works in production: virtual nodes, rebalancing, hot keys, and why naive modulo hashing fails at scale.
- 49 Rate Limiters A senior-engineer guide to designing rate limiters: algorithms, distributed coordination, trade-offs, and production patterns that actually scale.
- 50 Redis Locks A practical look at distributed locking with Redis: SET NX EX, Redlock, fencing tokens, and the failure modes that cause data corruption.
- 51 Event-Driven What event-driven architecture really gives you, when to choose it, and the operational realities of running asynchronous systems at scale.
- 52 Kafka vs Rabbit A senior-engineer comparison of Kafka and RabbitMQ: log vs queue semantics, throughput, ordering, retention, and the real selection criteria.
- 53 Chat App Design a real-time chat system that supports millions of users with low latency messaging, presence, and message persistence at scale.
- 54 Dist. Cache Design a distributed cache using consistent hashing, replication, and eviction policies to speed up reads at internet scale.
- 55 File Storage Design a file storage service with uploads, sync, deduplication, and sharing, scaling to petabytes while keeping reads fast and cheap.
- 56 Leaderboard Design a real-time leaderboard using Redis sorted sets, handling millions of score updates per second with low latency rankings.
- 57 Notifications Design a notification service that delivers email, SMS, and push reliably with templating, rate limits, retries, and user preferences.
- 58 Payments Design a payment gateway with idempotency, double-entry ledgers, retries, and PCI considerations, balancing safety and throughput.
- 59 7-Step SD Framework A repeatable 7-step framework for system design interviews. Clarify, estimate, API, data model, high-level, deep dive, bottlenecks — with concrete examples for each step.
- 60 Distributed Cache Design a distributed in-memory cache like Redis or Memcached. Covers consistent hashing, replication, eviction, persistence, and surviving node failures cleanly.