Удосконалення предиктивної моделі патерну 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

Завантаження

Опубліковано

05.06.2026

Номер

Розділ

Комп'ютерні науки та інформатика

Як цитувати

Пашко, А., Папроцький, І., Глибовець, А., & Теренчук, С. (2026). Удосконалення предиктивної моделі патерну circuit breaker для підвищення відмовостійкості мікросервісів. Вісник Київського національного університету імені Тараса Шевченка. Фізико-математичні науки, 82(1), 225-236. https://doi.org/10.17721/1812-5409.2026/1.30