Distributed Systems for Backend Engineers · Distributed Systems Fundamentals

Why Distributed Systems Are Hard

Partial failure, unreliable networks and the fallacies of distributed computing.

A distributed system is one where a computer you didn't know existed can make yours unusable. Unlike a single process, components fail partially and independently; networks drop, delay, duplicate and reorder messages; clocks drift; and you can't distinguish a slow node from a dead one. The fallacies of distributed computing (the network is reliable, latency is zero, bandwidth is infinite, the network is secure, topology doesn't change, there is one administrator, transport cost is zero, the network is homogeneous) summarize the assumptions that break systems.

Fallacies and responses

Fallacy Reality Design response
The network is reliable Packets drop; connections reset Timeouts, retries, idempotency
Latency is zero Cross-region ≈ 50–200 ms Minimize round trips; locality
Bandwidth is infinite Large payloads are slow/costly Pagination, compression
The network is secure Assume hostile networks mTLS, zero trust
Topology doesn't change Instances come and go Service discovery, health checks
Clocks are synchronized Drift and jumps happen Logical clocks, fencing tokens

Common pitfalls

  • Treating remote calls like local function calls.
  • Assuming 'no response' means 'not executed'.
  • Designing for the happy path only.

Key points

  • Partial failure is normal
  • You can't tell slow from dead
  • Design for unreliable networks and clocks

Further reading: Designing Data-Intensive Applications (Kleppmann)

Practice questions

Why can't a node reliably tell whether another node has crashed?

Answer

A missing response could mean a crash, a network partition, a long GC pause or just slowness; timeouts are guesses, not proof.

Name three fallacies of distributed computing.

Answer

The network is reliable; latency is zero; bandwidth is infinite (also: the network is secure, topology doesn't change, one administrator, transport cost is zero, the network is homogeneous).

Open in the app to mark lessons complete, take notes and track your progress.