Skip to content
Codeloom

← Back to System Design overview

System Design tutorials

63 articles · page 3 of 4

Hand-written tutorials, ordered as a recommended learning path.

  1. 41 CQRS Learn how CQRS separates read and write models for better scalability. Covers architecture, implementation patterns, and when CQRS is worth the complexity.
  2. 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.
  3. 43 Idempotency Patterns Learn how to design idempotent APIs and achieve exactly-once semantics using idempotency keys, deduplication stores, and transactional outbox patterns.
  4. 44 Saga Pattern Learn how the saga pattern coordinates transactions across microservices using choreography and orchestration, with compensation logic for rollbacks.
  5. 45 Service Mesh Understand how service meshes handle traffic management, observability, and security in microservices using sidecar proxies like Envoy and platforms like Istio.
  6. 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.
  7. 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.
  8. 48 Consistent Hashing How consistent hashing actually works in production: virtual nodes, rebalancing, hot keys, and why naive modulo hashing fails at scale.
  9. 49 Rate Limiters A senior-engineer guide to designing rate limiters: algorithms, distributed coordination, trade-offs, and production patterns that actually scale.
  10. 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.
  11. 51 Event-Driven What event-driven architecture really gives you, when to choose it, and the operational realities of running asynchronous systems at scale.
  12. 52 Kafka vs Rabbit A senior-engineer comparison of Kafka and RabbitMQ: log vs queue semantics, throughput, ordering, retention, and the real selection criteria.
  13. 53 Chat App Design a real-time chat system that supports millions of users with low latency messaging, presence, and message persistence at scale.
  14. 54 Dist. Cache Design a distributed cache using consistent hashing, replication, and eviction policies to speed up reads at internet scale.
  15. 55 File Storage Design a file storage service with uploads, sync, deduplication, and sharing, scaling to petabytes while keeping reads fast and cheap.
  16. 56 Leaderboard Design a real-time leaderboard using Redis sorted sets, handling millions of score updates per second with low latency rankings.
  17. 57 Notifications Design a notification service that delivers email, SMS, and push reliably with templating, rate limits, retries, and user preferences.
  18. 58 Payments Design a payment gateway with idempotency, double-entry ledgers, retries, and PCI considerations, balancing safety and throughput.
  19. 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.
  20. 60 Distributed Cache Design a distributed in-memory cache like Redis or Memcached. Covers consistent hashing, replication, eviction, persistence, and surviving node failures cleanly.