Skip to Content
LearnSystems DesignSystem Design Interview NotesDistributed Systems Fundamentals

Distributed Systems Fundamentals

Published on

This retained interview reference summarizes common building blocks. Use the curated Systems Architecture path for the decision process around them.

Quality attributes

  • Scalability: the ability to handle growth in demand or data while meeting defined service objectives.
  • Reliability: the probability that a system performs its required function for a specified interval under stated conditions.
  • Availability: the proportion of time or requests for which the service is usable according to its contract.
  • Latency: elapsed time for an operation; report distributions and tail percentiles, not only averages.
  • Throughput: completed useful work per unit time.
  • Operability: the ability to deploy, observe, diagnose, recover, maintain, and evolve the system safely.

Common components

Load balancers distribute work across healthy capacity. Caches trade freshness and invalidation complexity for lower latency and backend load. Queues decouple rates and availability but introduce backlog, ordering, duplicate-delivery, and replay concerns. Proxies centralize routing and policy while adding another failure and trust boundary.

Partitioning and replication

Partitioning divides data or work across nodes; replication places copies for availability, durability, locality, or read capacity. Partition keys affect balance and query shape. Rebalancing moves load and can compete with production traffic. Replication requires defined consistency, conflict, failover, and recovery behavior.

Consistent hashing reduces key movement when members change, especially when virtual nodes improve distribution. It does not by itself solve replication, hotspots, membership, or consistency.

Choose databases by guarantees

SQL and NoSQL are broad product categories, not fixed architectures. Both can support transactions, replication, and horizontal scaling in different forms. Choose from access patterns, invariants, consistency, latency, data volume, operational ownership, recovery, and migration requirements.

Indexes accelerate selected reads by maintaining additional structures, increasing write, storage, and maintenance cost. Denormalization can reduce read-time joins while increasing duplication and consistency work.

Last updated on