What is a Bulkhead?
The bulkhead pattern, told as a story about a park split into zones that each use only their own share of resources.
Trouble in one ride spreads until the whole park stops.The trouble crosses over with nothing to stop it, again and again.
When every ride shares the same resource, one of them can use it all up.One generator, one staff pool — everyone is tied to the same thing.
Split into zones — one zone's trouble doesn't touch the others.Just like a ship's watertight bulkheads.
Only one zone's resources run out — the other three stay normal.The map shows at a glance which zone has the problem.
Split too finely and management gets tedious while resources go to waste.Finding the right zone size matters.
Bulkhead = splitting the park into zones that each use only their own share of resources, so trouble in one zone leaves the others untouched.
Named after a ship's watertight bulkheads. It splits resources — thread pools, connection pools, server instances — by zone (tenant, service) so one overload doesn't cascade into a cascading failure across everything. Split too finely, though, and management overhead and wasted resources grow.
When grown-ups say it
- Bulkhead pattern
- Designing the park into separate zones. Keeps one zone's trouble from crossing into another.
- Isolation
- Walling zones off from each other. The core thing a bulkhead does.
- Resource pool
- A shared supply, like a generator or a staff roster. Leave it unsplit, and one user can take it all.
- Thread pool isolation
- Giving each zone its own set of workers (threads). The most common way to apply a bulkhead.
- Tenant isolation
- Splitting resources by guest group (tenant). One tenant's surge doesn't endanger another.
- Cascading failure
- One ride's trouble spreading to the next, and the next. The exact thing a bulkhead is built to stop.
- Circuit breaker
- The red button that stops sending guests somewhere broken. Often paired with bulkheads, which split things into zones. → the red button you press when something breaks
- Graceful degradation
- Staying open with the rest, even if part is broken. Splitting into zones with a bulkhead makes this easier to pull off.