Circuit Breaker

The Circuit Breaker pattern is used to check the availability of an external service, detect failures and prevent them from happening constantly.  For example, if an application needs to retrieve data from an external service 100 times per second, and the service is unavailable  (e.g., down for maintain ace or because of a hardware failure),