← Back to microservices patterns mapisolation
🚢
Microservices Pattern
Bulkhead Pattern
Isolate resources so one failing area does not take down the whole system.
Detailed Description
Bulkheads come from ship design: compartments stop one breach from sinking the entire ship.
In software, isolate pools, queues, workers, or deployments so noncritical load cannot starve critical work.
Visual Diagram
Resource Pools (Bulkheads)
Thread Pool A (10 threads) → Payment calls
Thread Pool B (10 threads) → Inventory calls
Thread Pool C (10 threads) → Email calls
Payment service hangs →
Pool A exhausted
Pool B, C still available
Inventory, Email still work ✓Tradeoffs
Pros
Failure isolation, protects critical paths
Cons
Capacity planning across pools
Examples: Thread pools, connection pools, K8s namespaces