Skip to content

Bulkhead Isolation

Partitioning resources (threads, connections, memory) into isolated pools prevents a failure in one component from consuming all resources and bringing down unrelated functionality, containing blast radius.

Tension Addressed

Simplicity vs. Resilience (adds resource management overhead for failure isolation)

Recognizable As

Separate thread pools per dependency; connection pool limits per service; process isolation; container resource limits; "cell-based" architecture; blast radius diagrams

Canonical Sources

Nygard, "Release It!" (2007, 2018); Ship design (original bulkhead concept)

Transfers To

Ship Design (original concept), Operating Systems (process isolation), Cloud Architecture (availability zones), Container Orchestration (resource limits)

Named after ship compartments that prevent a single hull breach from sinking the entire vessel. In software, a slow dependency consuming all thread pool threads blocks all requests, even those not using that dependency. Bulkheads ensure that failure in one area doesn't cascade everywhere.