Cybernetics And Systems Analysis logo
Інформація редакції Аннотації статей Автори Архів
Кібернетика та Системний Аналіз
Міжнародний Науково-Теоретичний Журнал
-->

DOI 10.34229/KCA2522-9664.24.3.15
УДК 004.41

А.М. ГЛИБОВЕЦЬ
Національний університет «Києво-Могилянська академія», Київ, Україна,
a.glybovets@ukma.edu.ua

І.А. ПАПРОЦЬКИЙ
Національний університет «Києво-Могилянська академія», Київ, Україна,
i.paprotskyi@ukma.edu.ua


ПІДВИЩЕННЯ ВІДМОВОСТІЙКОСТІ
В МІКРОСЕРВІСНІЙ АРХІТЕКТУРІ

Анотація. Мікросервісну архітектуру широко використовують під час побудови розподілених застосунків. Уже розв’язано багато проблем, що були наявні на початку використання цього підходу. Але досі залишається не розв’язаною одна з фундаментальних проблем, що серйозно впливає на відмовостійкість системи. Вона має назву «гарантована доставка повідомлень між сервісами». У статті проаналізовано стандартні підходи до розв’язання цієї проблеми. На основі проведеного аналізу виокремлено патерн Circuit Breaker та здійснено його модифікацію, що дало змогу зменшити затримку переходу між станами, а відповідно й відправлення повідомлень сервісом. Експериментально підтверджено ефективність запропонованої модифікації. Результат модифікації оформлено у вигляді швидкої конфігурації для Spring Boot.

Ключові слова: мікросервісна архітектура, відмовостійкість, мікросервіс, патерн, Circuit Breaker.


повний текст

СПИСОК ЛІТЕРАТУРИ

  1. The state of developer ecosystem in 2022 infographic. JetBrains. 2022. URL: https://www.jetbrains.com/lp/devecosystem-2022/microservices/.

  2. 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/.

  3. 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 .

  4. Brooker M. Exponential backoff and jitter. AWS Architecture Blog. 2015. URL: https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/.

  5. May F. Microservices and cascading failures. Medium, 2018. URL: https://medium.com/@floyd.may/microservices-and-cascading-failures-16ec91c6ec9b .

  6. Fowler M. Circuit breaker. 2014. URL: https://martinfowler.com/bliki/CircuitBreaker.html .

  7. Netflix. Hystrix. 2017. URL: https://github.com/Netflix/Hystrix/wiki/.

  8. Istio. Documentation. Version 1.17.2. 2023. URL: https://istio.io/latest/docs/.

  9. Sentinel. Documentation. 2023. URL: https://sentinelguard.io/en-us/docs/introduction.html .

  10. 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.

  11. 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.

  12. 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 .

  13. Resilience4j. Introduction. 2023. URL: https://resilience4j.readme.io/docs/getting-started .




© 2024 Kibernetika.org. All rights reserved.