← Back to microservices patterns map
🚢
Microservices Pattern

Bulkhead Pattern

Isolate resources so one failing area does not take down the whole system.

isolation

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