Reliability & Latency
Isolate resources to contain failures and avoid system-wide impact
Partition resources (threads, connections, queues) so that failure or saturation in one area does not cascade to others. Combine with timeouts and load shedding.
When services rely on multiple dependencies or multi-tenant workloads where one actor can saturate shared resources.
Services calling multiple dependencies with different SLOs and failure modes.
# Two pools (pseudocode)
poolA = ThreadPool(size=32)
poolB = ThreadPool(size=8)
app.route('/a')(lambda: poolA.run(call_dep_a))
app.route('/b')(lambda: poolB.run(call_dep_b))
Hystrix thread/sem pool isolation
Thousands of microservicesPer-cluster circuit breakers and pools
Large service meshesSeparation of coordinator vs replica concurrency
Large clustersPer-instance isolation
Medium - Sizing and monitoring
Low - Mostly configuration