The pricing service is struggling, but customers keep arriving.
With no breaker, every request goes straight through to the service.
The service is stuck. Each call waits 30 seconds, then fails.
Waiting calls pile up and use up the app's workers.
Now every page is slow, even ones that never needed prices.
Waiting on a dead service hurts you more than failing fast.
After a few failures, the breaker stops calls for a while.
It later lets one test call through to check recovery.
Reach for it when
When a slow outside service, like pricing or payments, could tie up every worker waiting on it. Not for fast local code.
The catch
Trip too early and good calls get a fallback for 30 seconds; trip too late and workers have already piled up.
Say it in an interview“I would wrap remote calls in a circuit breaker with a timeout. After repeated failures it fails fast, serves a fallback, and probes the service before closing again.”