The Circuit Breaker pattern can prevent an application from repeatedly trying to execute an operation that’s likely to fail. It is a design pattern which can be used to eliminate timeout delays due to network or VM (virtual machine) instance failures.
The Circuit Breaker design pattern allows the application/s to continue without waiting for the fault to be fixed or wasting CPU cycles while it determines that the fault is long lasting. The Circuit Breaker pattern also enables an application to detect whether the fault has been resolved. The Circuit Breaker pattern provides stability and can also act as a proxy while the system recovers from a failure and minimizes the impact on performance. It can help to maintain the response time of the system by quickly rejecting a request for an operation that’s likely to fail, rather than waiting for the operation to time out, or never return.