Abstract

Microservices is an architectural style in which one program is created as a set of small programs, each of which works in its own process and interacts with others using simple and fast data transfer protocols. In addition to many advantages, this method of designing an architecture has an important disadvantage: if the system runs many separate services, any software node can fail and cause a cascade of errors. To prevent the spread of cascading termination of microservices, Circuit Breaker is used — a library of fault tolerance, which describes the strategy of preventing cascading failure at different levels of the program and monitors the methods of unsuccessful calls to relevant services. The library will keep failures down to a certain threshold. In addition, it leaves the chain open. This means that all subsequent calls will be redirected to the backup method to prevent future failures. This creates a temporary buffer for the associated service to restore the fault state. The architecture of the microservice should provide for errors, but Circuit Breaker is designed for less expected errors, which can last much longer: network failure, service failure, hardware, and so on. In these situations, when we try to send a similar request again, we will most likely get a similar error. The paper describes the schemes of using Circuit Breaker and recommendations for correct operation.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.