Distributed Systems

Consistency, replication, coordination, messaging, and interview-style designs.

Lessons

  1. DDIA Notes — Distributed Data Overview
  2. Circuit Breakers & Rate Limiting Together
  3. Chat System Design — End-to-End Reference
  4. Consensus Algorithms — Agreeing Despite Failures
  5. File Upload Service Design
  6. Quorum Reads vs Quorum Writes
  7. System Design Interview Answering Framework
  8. Design a Job Scheduler — Delayed and Recurring Work
  9. System Design Foundations — How Large Software Fits Together
  10. Concurrency vs Parallelism — Overlap vs Simultaneous Work
  11. DDIA Notes — Reliable, Scalable, Maintainable Systems
  12. Distributed Locks and Consensus — Coordinating Without a Single Boss Memory
  13. Distributed Transactions & Sagas
  14. Feed / Timeline System Design
  15. CAP Theorem — Consistency, Availability, and Partition Tolerance
  16. Design a Notification Service — Push, Email, SMS
  17. System Design Curriculum Map
  18. DDIA Notes — Replication & Partitioning
  19. CAP, Consistency & Idempotency
  20. Event Sourcing & CQRS
  21. Transactional Outbox and Saga Patterns — Reliable Multi-Step Work
  22. Rate Limiting Algorithms — Token Bucket, Windows, and Bursts
  23. Design Dropbox — File Sync and Storage
  24. DDIA Notes — Storage & Retrieval
  25. Consistency Models — From Strong to Eventual
  26. Idempotency, Retries & Backoff
  27. Exactly-Once Processing vs Practical Deduplication
  28. Design Instagram — Photos, Feed, and Fan-Out
  29. Design a URL Shortener — Interview Walkthrough
  30. DDIA Notes — Transactions & Consistency
  31. Design Search Autocomplete — Typeahead Suggestions
  32. Strong vs Eventual Consistency — Trade-offs in Distributed Systems
  33. Message Queues — Hand Work Off Without Blocking the User
  34. Data Replication — Keeping Copies in Sync
  35. Design Uber — Matching Riders and Drivers
  36. Design WhatsApp — 1:1 and Group Messaging
  37. Design YouTube — Upload, Process, and Stream Video

Back to library · Pillar paths

Shubham Jain · Learning Lab