advanced 2 min answer Multiple choice

What is the single highest-value fault isolation mechanism, and why is it usually missing?

bulkheadspoolscascading-failurecellsisolation
Pick one
Show the full answer Hide the answer

What is being tested

Whether you know which mechanism stops the propagation rather than limiting the damage after it starts.

The mechanism

By Little's Law, concurrency equals arrival rate times latency. A dependency slowing from 50 ms to 3 s multiplies required concurrency 60-fold at constant traffic.

With a shared pool, that exhausts it — and the caller can then serve no request at all, including ones that never touch the slow dependency. Its own callers then experience it as slow, their pools exhaust, and the failure propagates up the call graph to services three hops away with no relationship to the original fault.

With a separate pool per dependency, the slow dependency exhausts its own pool and nothing else. Requests to it fail fast; everything else continues.

That is the difference between a partial degradation and a total outage.

Why circuit breakers rank below it

A circuit breaker limits damage once failures are detected; it does not prevent the mechanism. And its threshold must be reachable before the pool exhausts — which requires checking against the actual numbers rather than choosing a round figure. Many configured breakers never fire because the pool empties first.

Retries without a budget make it worse: three layers each retrying three times is 27 requests for one user action, arriving precisely when the downstream is struggling.

Why it is usually missing

The default in most HTTP clients and frameworks is a shared pool, and nothing goes wrong until the day something is slow rather than down. Hard failures are handled; slowdowns are not, and slowdowns are the more common incident.

The other isolation mechanism worth naming

Cells or shards — partitioning users across independent stacks — so the same failure rate affects 5% of users rather than 100%. It changes the impact of a failure rather than its probability, which is frequently what actually matters to customers.