Tech Terms Explained Open in the app →

Distributed Systems

System Design · Advanced · 5 min read

What is it?

A distributed system is a set of computers working together as one system, coordinating over a network to share work and data.

Explain like I'm 5

A distributed system is like a group project across several cities: everyone works on a piece, but they have to keep talking to stay in sync — and the project must continue even if someone loses their connection.

Why was it created?

One machine can't provide enough capacity or reliability for large services. Distributing work across many machines gives more scale and resilience.

Where is it used?

  • Cloud platforms
  • Distributed databases
  • Microservices
  • Large-scale web services

Why should developers care?

Almost every large-scale service is distributed, so understanding the core challenges is essential for senior engineering and system design.

How does it work?

Multiple machines each handle part of the work and communicate over a network. Because networks are unreliable and there's no shared clock, the system uses replication, consensus, and careful coordination to stay correct and available.

Real-world example

A global app stores data on servers in several regions; they replicate to each other so users get fast, reliable access even if one region goes down.

Common use cases

  • Scaling beyond one machine
  • Fault-tolerant services
  • Geographically spread data
  • High-throughput processing

Advantages

  • Scales to huge workloads
  • Survives individual failures
  • Can serve users globally
  • No single point of failure (if designed well)

Disadvantages

  • Hard to reason about and debug
  • Network failures and partial failures
  • Consistency trade-offs (see CAP)
  • Operational complexity

When should you use it?

When scale, resilience, or geographic reach exceed what one machine can provide.

When should you avoid it?

When a single machine meets your needs — distribution adds significant complexity.

Alternatives

A single powerful machineA simple monolith on one host

Related terms

CAP TheoremMicroservicesHorizontal ScalingHigh AvailabilityCassandra

Interview questions

Beginner

  • What is a distributed system?
  • Why distribute work across machines?

Intermediate

  • Why is there no reliable shared clock?
  • What is replication?

Senior

  • What is consensus and why is it hard?
  • How do partial failures complicate design?

Common misconceptions

  • "Distributing a system automatically makes it faster" — coordination overhead can offset gains if done poorly.
  • "Distributed means each part is independent" — they must constantly coordinate to stay correct.

Fun facts

  • A famous quip: a distributed system is one where a computer you didn't know existed can break your own.
  • There's no perfectly synchronized clock across machines, which makes ordering events surprisingly hard.

Timeline

  • 2000s — Cloud computing makes large distributed systems mainstream

Learning resources

Quick summary

A distributed system spreads work across many networked machines for scale and resilience, at the cost of hard coordination and consistency challenges.

Cheat sheet

  • Many machines acting as one
  • Coordinate over an unreliable network
  • Scale and fault tolerance
  • Hard: consistency, ordering, partial failure

If you remember only one thing

Distributed systems gain scale and resilience by spreading work across machines — but coordination over an unreliable network is the hard part.