Resilient

Responsive even inside failure

“The system stays responsive in the face of failure.” – Reactive Manifesto

When to use

Critical systems.

Why it matters

  • Continuity: Failures are contained. One component crash shouldn’t take down the whole app.

Signs of Violation

  • Uncaught exceptions bubbling to the top and crashing the process.
  • “Cascading Failure” (Service A fails -> Service B waiting fails -> System crash).

Explanation

Problem

Errors trigger chains of doom.

Solution

Replication, containment, isolation, and delegation. Failures are handled within the component context.

Real world analogy

Bulkheads in a ship. If the hull is breached in one section, the water is contained there. The ship floats. Without bulkheads, the whole ship sinks.

Pros and Cons

Pros Cons
  • Uptime
  • Redundancy costs
  • Comparison

    • Fault Tolerance: Similar concept.

    Code example

    Typescript

    Bad (Violation)

    Good (Adherence)

    PHP

    Good (Adherence)