Distributed Systems

Noun · Development

Definitions

  1. Systems in which multiple independent computers coordinate over a network to present what looks like a single service, such as a replicated database, a cloud storage service, or a microservice architecture. Leslie Lamport described one as a system in which the failure of a computer you did not know existed can render your own computer unusable. The defining difficulties are partial failure, where some nodes or links fail while others continue; unbounded message delay, which makes a slow node indistinguishable from a dead one; and the lack of a shared clock, which makes ordering events hard. The CAP theorem states that during a network partition a system must choose between consistency and availability. Consensus algorithms such as Paxos and Raft let replicas agree despite failures, and techniques such as replication, idempotent operations, and retries with backoff manage the rest. The Fallacies of Distributed Computing list the false assumptions, such as a reliable network, that trip up newcomers.

    In plain English: Multiple computers working together as one system — sounds simple, but coordinating them is one of the hardest problems in computer science.

    Example: "In distributed systems, the network is always unreliable and the clock is always lying."

Related Terms