DOI
10.34229/KCA2522-9664.24.3.15
UDC 004.41
INCREASING THE FAULT TOLERANCE IN MICROSERVICE ARCHITECTURE
Abstract. Microservice architecture is widely used in the development of distributed applications. Many problems present at the beginning of using this approach have already been solved. However, one of the fundamental problems that seriously affects the system’s fault tolerance remains unsolved. This fundamental problem is known as guaranteed delivery of messages between services. The article analyzed standard approaches to solving this problem. Based on the analysis, the Circuit Breaker pattern was isolated, and its modification was carried out, which reduced the delay in the transition between states and, accordingly, the sending of messages by the service. The efficiency of the proposed modification has been confirmed experimentally. The result of the modification is presented in the form of a quick configuration for Spring Boot.
Keywords: microservice architecture, fault tolerance, microservice, programming pattern, Circuit Breaker.
full text
REFERENCES
- The state of developer ecosystem in 2022 infographic. JetBrains. 2022. URL: https://www.jetbrains.com/lp/devecosystem-2022/microservices/.
- Nadareishvili I., Mitra R., McLarty M., Amundsen M. Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly Media, Incorporated, 2016. 128 p. URL: https://books.google.com.ua/books/.
- Nygard M.T. Release it! 2nd ed. Design and Deploy Production-Ready Software. Raleigh, North Carolina: The Pragmatic Bookshelf, 2014. 356 p. URL: http://repo.darmajaya.ac.id/4586/1/Release%20It .
- Brooker M. Exponential backoff and jitter. AWS Architecture Blog. 2015. URL: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/.
- May F. Microservices and cascading failures. Medium, 2018. URL: https://medium.com/@floyd.may/microservices-and-cascading-failures-16ec91c6ec9b .
- Fowler M. Circuit breaker. 2014. URL: https://martinfowler.com/bliki/CircuitBreaker.html .
- Netflix. Hystrix. 2017. URL: https://github.com/Netflix/Hystrix/wiki/.
- Istio. Documentation. Version 1.17.2. 2023. URL: https://istio.io/latest/docs/.
- Sentinel. Documentation. 2023. URL: https://sentinelguard.io/en-us/docs/introduction.html .
- Montesi F., Weber J. Circuit breakers, discovery, and API gateways in microservices. arXiv:1609.05830v2 [cs.SE] 21 Sep 2016. https://doi.org/10.48550/arXiv.1609.05830.
- Mendoca C., Aderaldo C.M., Cїmara J., Garlan D. Model-based analysis of microservice resiliency patterns. Proc. IEEE International Conference on Sogtware Architecture (ICSA 2020) (16–20 March 2020, Salvador, Brazil). Salvador, 2020. https://doi.org/10.1109/ICSA47634.2020.00019.
- Addeen H.H. A dynamic fault tolerance model for microservices architecture: Thesis Master of Science (MS). South Dakota State University, 2019. URL: https://openprairie.sdstate.edu/cgi/viewcontent.cgi?article=4417&context=etd .
- Resilience4j. Introduction. 2023. URL: https://resilience4j.readme.io/docs/getting-started .