All labs
Lab 35
Resilience Patterns

Cascading Failure & Bulkheads

One shared thread pool serves all three providers. Make Flight slow and watch blocked requests fill the pool until Train and Bus starve — a cascading failure. Flip on bulkheads (a pool per provider) and the flight failure stays contained while everything else keeps flowing.

All three providers draw from one thread pool. The flight provider is slow (its requests hold threads for ages). Watch it fill the pool and starve train & bus — then flip on bulkheads and isolate the damage.
Shared pool (12 threads)
✈️ Flight
0 served
0 blocked
🚆 Train
0 served
0 blocked
🚌 Bus
0 served
0 blocked
Cascading failure: slow flight requests hog the shared pool, so train & bus can't get a thread and start failing — one bad provider takes the whole system down.
What just happened