Удосконалення предиктивної моделі патерну circuit breaker для підвищення відмовостійкості мікросервісів
DOI:
https://doi.org/10.17721/1812-5409.2026/1.30Ключові слова:
мікросервісна архітектура, розподілені системи, відмовостійкість, патерни відмовостійкості, високе навантаження, Circuit Breaker, взаємодія сервісів, адаптація під час виконанняАнотація
У високонавантажених розподілених системах надзвичайно важливо приділяти особливу увагу надійності комунікації між архітектурними компонентами, що робить відмовостійкість однією з базових властивостей мікросервісної архітектури. Попри наявність різноманітних патернів підвищення відмовостійкості, спрямованих на поліпшення стійкості мікросервісів, жоден із них не є універсальним для всього спектра можливих відмов у сервісній взаємодії. З огляду на це зберігається постійна потреба в пошуку ефективніших підходів до досягнення відмовостійкості в розподілених програмних системах.
Спираючись на наше попереднє дослідження, у якому було представлено предиктивну модель Circuit Breaker, пропонована робота детальніше досліджує її застосування для оцінювання ефективності в поєднанні з іншими поширеними патернами відмовостійкості. Центральним принципом предиктивної моделі є обчислення рейтингу комунікації між двома сервісами, визначеного як опукла комбінація різних метрик ефективності. Отримане значення рейтингу використовується для визначення того, чи може взаємодія із цільовим сервісом бути безпечно відновлена після періоду блокування. Подібно до традиційного патерна Circuit Breaker, запропонована модель спрямована на зменшення затримок під час передавання запитів в умовах невизначеного навантаження. Порівняно зі стандартними імплементаціями цього методу модель розроблено з метою скорочення часу блокування викликів між мікросервісами.
Метою статті є вдосконалення моделі Circuit Breaker та перевірка її ефективності в поєднанні з іншими патернами відмовостійкості, зокрема Retry та Timeout. У дослідженні розширено гнучкість Circuit Breaker Prediction Model шляхом опису адаптивного механізму ковзного вікна для метрик, що динамічно змінює розмір контексту залежно від навантаження під час роботи застосунку. Також алгоритм обчислення рейтингу було узагальнено, щоб забезпечити можливість використання довільної кількості метрик ефективності. У межах роботи проведено серію симульованих експериментів із різними конфігураціями комунікації між сервісами та комбінаціями патернів відмовостійкості, використовуючи стандартну реалізацію Circuit Breaker як базову для порівняння.
Отримані результати показують підвищення продуктивності комунікації насамперед шляхом зменшення затримок у передаванні запитів за однакових умов навантаження. Також розглянуто перспективи застосування принципів цієї моделі до інших патернів відмовостійкості, зокрема з акцентом на можливості використання різноманітних методів оптимізації для підтримки динамічного ухвалення рішень.
Посилання
De Souza Miranda, F., Santos, D. S. D., Vilela, R. F., Assunção, W. K. G., Santos, R. C. D., & Pinto, V. H. S. C. (2024). A proposed catalog of development patterns for fault-tolerant microservices. In I. Machado, J. Maldonado, T. Conte, E. Canedo, J. Marques, B. B. de França, P. Matsubara, D. Viana, S. Soares, G. Santos, L. Rocha, B. Gadelha, R. Santos, A. Oran, & A. G. Seca Neto (Eds.), SBQS 2024: XXIII Brazilian Symposium on Software Quality (pp. 406–416). Association for Computing Machinery. https://doi.org/10.1145/3701625.3701678
Zhang, P., Xiang, L., Song, Z., & Yang, Y. (2025). Adaptive load balancing and fault-tolerant microservices architecture for high-availability web systems using docker and spring cloud. Discover Applied Sciences, 7(7). https://doi.org/10.1007/s42452-025-07320-7
Fowler, M. (2014). Circuit Breaker. martinfowler.com. https://martinfowler.com/bliki/CircuitBreaker.html
Sun, X., Cui, B., & Cai, Z. (2024). Deep Q-learning based circuit breaking method for micro-services in cloud native systems. In Y. Sun, T. Lu, T. Wang, H. Fan, D. Liu, & B. Du (Eds.), Communications in computer and information science: Vol. 2012. Computer supported cooperative work and social computing: ChineseCSCW 2023 (pp. 348–362). Springer. https://doi.org/10.1007/978-981-99-9637-7_26
Souza, V. J. S., Neves, V. O., & Kimura, B. Y. L. (2024). Dependable Microservices in the Kubernetes era: A Practitioners survey. Journal of Internet Services and Applications, 15(1), 561–583. https://doi.org/10.5753/jisa.2024.4000
Istio. (2025). Documentation. https://istio.io/latest/docs
JetBrains. (2024). General Development Trends –The State of Developer Ecosystem in 2023 Infographic. JetBrains: Developer Tools for Professionals and Teams. https://www.jetbrains.com/lp/devecosystem-2023/development/#mcrsrvc_design_approaches
Hlybovets, A., & Paprotskyi, I. (2024). Increasing the fault tolerance in microservice architecture. Cybernetics and Systems Analysis, 60(3), 480–488. https://doi.org/10.1007/s10559-024-00689-0
Resilience4j. (2025). Introduction. https://resilience4j.readme.io/docs/getting-started
Lewis, J., & Fowler, M. (2014). Microservices. martinfowler.com. https://martinfowler.com/articles/microservices.html
Valdivia, J. A., Lora-González, A., Limón, X., Cortes-Verdin, K., & Ocharán-Hernández, J. (2020). Patterns Related to Microservice Architecture: a Multivocal Literature Review. Programming and Computer Software, 46(8), 594–608. https://doi.org/10.1134/s0361768820080253
Nygard, M. T. (2018). Release it!: Design and Deploy Production-Ready Software (2nd ed.). The Pragmatic Programmers LLC.
Stack Overflow. (2024). Stack Overflow Developer Survey 2023. https://survey.stackoverflow.co/2023/#section-developer-experience-developer-experience-processes-tools-and-programs-within-an-organization
Завантаження
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2026 Anatolii Pashko, Ihor Paprotskyi, Andrii Glybovets, Svitlana Terenchuk

Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.
Автори, роботи яких публікуються у цьому журналі, погоджуються з такими умовами:
- Автори зберігають авторські права та надають журналу право на першу публікацію роботи, яка одночасно ліцензується згідно із Creative Commons Attribution License, тобто надається дозвіл іншим ділитися роботою з визнанням авторства роботи та першої публікації в цьому журналі.
- Автори можуть укладати окремі додаткові угоди щодо невиключного розповсюдження опублікованої журналом версії роботи (наприклад, розмістити її у репозитарії наукової установи чи опублікувати у книзі) з підтвердженням її початкової публікації у цьому журналі.
- Дозволяється та заохочується розміщення своїх робіт в мережі Інтернет авторами (наприклад, у репозитаріях наукових установ або на особистих веб-сторінках) до та під час процесу подання, оскільки це може призвести до продуктивного обміну, а також до більш ранніх цитувань опублікованої роботи та їх більшої кількості (див. The Effect of Open Access).
