liveBook · Manning

Resilience

As explained in Latency

Fault tolerance is the ability of a system to continue providing acceptable service despite failures of components or dependencies.

Resilience is the ability of a system to continue providing acceptable service despite component or dependency failures. Fault-tolerant systems survive specified failures without service downtime or disruption, whereas highly available systems may still allow some downtime. section 4.6

Replication provides resilience by maintaining redundant copies across nodes and, sometimes, data centers. It also creates a consistency, availability, and latency trade-off: stricter consistency requires more coordination and can increase latency. section 4.0

State machine replication makes resilience operational:

  • A client sends a request to a replicated cluster, which persists its effect after acknowledgment even if components later fail. section 4.6
  • Subsequent requests sent to other nodes observe the update, providing a linearizability guarantee. section 4.6
  • For non-Byzantine failures, a cluster tolerates f failures with 2f + 1 replicas, leaving a quorum of f + 1 nodes. section 4.6
  • Non-Byzantine failures include crashes, power outages, network disconnections, and disk failures; Byzantine failures may send conflicting information or corrupt data. section 4.6

Replica counts

A three-node cluster can tolerate one non-Byzantine failure; a five-node cluster can tolerate two, because the surviving nodes can still form the required quorum. section 4.6

How Latency covers it

How deep it goes
Explains failure classes, linearizability, replica counts, and quorum arithmetic, but does not detail a replication protocol.
Examples
Uses three- and five-node clusters, server crashes, power outages, network disconnections, disk failures, and Byzantine behavior.
What you can do after
Apply via state machine replication by selecting replica counts that preserve a quorum after non-Byzantine failures.
How it connects
Connects state machine replication with replication, linearizability, quorum, high availability, and consistency.

Also explained in

Compare how 13 books explain resilience →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Latency. The section links point to the parts of the book it draws on.