🌍 System Design · subject

System Design Distributed System Components Syllabus

Every chapter and topic of Distributed System Components examined in System Design — 6 chapters, 22 topics, plus 52 flashcards written against it.

6Chapters
22Topics
0Sub-topics
~15hEst. first pass
17%Of System Design
52Flashcards

Distributed System Components syllabus — full chapter and topic list

Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Distributed System Components in System Design, not a summary of it.

  1. Load Balancing

    4 topics
    • Layer 4 vs Layer 7 Load Balancing
    • Load Balancing Algorithms
    • Health Checks and Failover
    • Global Server Load Balancing
  2. Caching

    4 topics
    • Cache Eviction Policies
    • Caching Strategies
    • Distributed Caching with Redis and Memcached
    • Cache Invalidation and Thundering Herd
  3. Content Delivery Networks

    3 topics
    • Edge Caching and PoPs
    • Push vs Pull CDNs
    • Cache-Control Headers and TTL
  4. Message Queues and Streaming

    4 topics
    • Point-to-Point vs Pub/Sub
    • Apache Kafka Architecture
    • RabbitMQ and AMQP
    • Delivery Guarantees and Backpressure
  5. Proxies and Gateways

    3 topics
    • Forward vs Reverse Proxy
    • API Gateway Responsibilities
    • Rate Limiting and Throttling
  6. Coordination Services

    4 topics
    • Distributed Consensus
    • Leader Election
    • Distributed Locking with ZooKeeper and etcd
    • Service Discovery

Distributed System Components flashcards for System Design

21 of 52 cards from the Distributed System Components deck — real questions with worked answers.

  1. At which OSI layer does an L4 load balancer operate, and what does it use to make routing decisions?

    It operates at the transport layer (Layer 4) and routes based on network information — source/destination IP addresses and TCP/UDP ports — without inspecting packet payloads.

  2. At which OSI layer does an L7 load balancer operate, and what added routing capabilities does this give it?

    It operates at the application layer (Layer 7) and can inspect HTTP content — URLs, headers, cookies, methods — enabling content-based routing, SSL termination, and sticky sessions.

  3. Give one key performance/functionality trade-off between L4 and L7 load balancing.

    L4 is faster and cheaper (no payload inspection, lower latency, higher throughput) but 'dumb'; L7 is slower and more CPU-intensive but supports smart, content-aware routing, TLS termination, and request rewriting.

  4. Describe the Round Robin load balancing algorithm.

    Requests are distributed sequentially and cyclically across servers in order, giving each server an equal share regardless of current load or capacity.

  5. How does Weighted Round Robin differ from plain Round Robin?

    Each server is assigned a weight proportional to its capacity, so higher-weighted servers receive proportionally more requests instead of an equal split.

  6. What does the Least Connections load balancing algorithm optimize for?

    It routes each new request to the server currently handling the fewest active connections, balancing load when requests have variable or long-lived durations.

  7. What problem does consistent hashing solve in load balancing/distributed caching, and roughly how many keys remap when a node is added or removed?

    It maps keys and nodes onto a hash ring so that adding/removing a node remaps only about $\frac{K}{N}$ keys (K keys, N nodes) instead of nearly all of them, minimizing reshuffling.

  8. What is the purpose of virtual nodes (replicas) in consistent hashing?

    Each physical node is placed at multiple points on the ring, smoothing out uneven key distribution and load imbalance that occurs with few nodes.

  9. Distinguish an active health check from a passive health check.

    An active check proactively probes servers on an interval (e.g., HTTP GET /health, TCP connect); a passive check infers health by observing real traffic for errors/timeouts without extra probes.

  10. In health checking, what are the 'healthy threshold' and 'unhealthy threshold'?

    They are the number of consecutive successful checks required to mark a server back 'up', and the number of consecutive failed checks required to mark it 'down' — hysteresis that prevents flapping.

  11. Contrast active-active and active-passive failover configurations.

    Active-active: all nodes serve traffic simultaneously and share load (also gives capacity). Active-passive: standby nodes stay idle and take over only when the active node fails, so standby capacity is unused in normal operation.

  12. What is Global Server Load Balancing (GSLB) and what mechanism most commonly implements it?

    GSLB distributes traffic across servers in multiple geographic data centers, typically via DNS-based resolution (and Anycast), returning the optimal site per user.

  13. Name three routing policies a GSLB / geo-DNS system can use.

    Geoproximity/geolocation (nearest data center), latency-based routing (lowest measured latency), and weighted/failover routing (capacity split or disaster recovery).

  14. What does the LRU cache eviction policy evict, and what does it assume?

    LRU (Least Recently Used) evicts the entry that has gone longest without access, assuming recently used items are most likely to be used again (temporal locality).

  15. How does LFU eviction differ from LRU?

    LFU (Least Frequently Used) evicts the item with the lowest access count/frequency, favoring popularity over recency — good for stable hot sets but slow to adapt when access patterns shift.

  16. Describe the FIFO cache eviction policy and one weakness compared to LRU.

    FIFO evicts the oldest-inserted entry regardless of access; its weakness is that a frequently-used item still gets evicted simply for being old, whereas LRU would keep it.

  17. Define the cache hit ratio and give its formula.

    The fraction of requests served from cache: $$\text{Hit Ratio} = \frac{\text{cache hits}}{\text{cache hits} + \text{cache misses}}$$

  18. Explain the cache-aside (lazy loading) caching strategy.

    The application checks the cache first; on a miss it reads from the database, writes the result into the cache, then returns it. The cache is populated only on demand.

  19. Contrast write-through and write-back (write-behind) caching.

    Write-through writes to cache and database synchronously (consistent, higher write latency, no data loss). Write-back writes to cache immediately and to the database asynchronously later (low latency, higher throughput, but risk of data loss on cache failure).

  20. What is the write-around caching strategy and when is it useful?

    Writes go directly to the database, bypassing the cache; the cache is populated only on subsequent reads. It avoids flooding the cache with write-heavy data that may never be read again.

  21. Give two fundamental architectural differences between Redis and Memcached.

    Redis is single-threaded (for core command processing) with rich data structures (strings, lists, sets, sorted sets, hashes), persistence, and replication; Memcached is multi-threaded, stores only simple string key-values, has no persistence, and no native replication.

See more Distributed System Components flashcards →

Planning Distributed System Components for System Design

Distributed System Components is about 17% of the System Design syllabus by topic count — 22 of 130 topics, spread over 6 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 15 hours.

The heaviest chapters are Load Balancing (4 topics), Caching (4 topics), Message Queues and Streaming (4 topics) . Front-load those while your energy is high; the short chapters are better revision filler later.

Work top-down: read the chapter, then tick topics off individually rather than marking the whole chapter done. Sub-topics are where silent gaps hide.

Distributed System Components (System Design) FAQ

What is in the System Design Distributed System Components syllabus?

Distributed System Components is split into 6 chapters — Load Balancing, Caching, Content Delivery Networks, Message Queues and Streaming, Proxies and Gateways and Coordination Services, containing 22 topics and 0 sub-topics in total.

How many chapters are there in Distributed System Components for System Design?

6 chapters. Distributed System Components accounts for about 17% of the topics in the whole System Design syllabus (22 of 130).

How long should I spend on Distributed System Components for System Design?

Budget around 15 hours for a first pass through Distributed System Components — about 45 minutes per topic plus 12 minutes per sub-topic across its 22 topics. Add revision cycles on top.

Are there flashcards for System Design Distributed System Components?

Yes — a 52-card Distributed System Components deck. Sample cards are printed on this page, and the full deck is free in the Examius app with spaced repetition scheduling.