Abstract
Проаналізовано літературні джерела, в яких досліджено методи та засоби забезпечення відмовостійкості мікросервісного програмного забезпечення. З'ясовано, що мікросервісна архітектура пропонує переваги у масштабованості та гнучкості, але водночас створює нові виклики у забезпеченні безперебійної роботи через розподілений характер та численні потенційні точки відмови. Оцінено вплив різних класифікацій відмов (миттєві, періодичні, тривалі) на вибір та ефективність методів забезпечення відмовостійкості (англ. Fault Tolerance). Охарактеризовано закономірності розвитку методів забезпечення відмовостійкості, в т.ч. й реактивні методи (повторні спроби, вимикачі ланцюгів), які спрямовані на відновлення після збою, проактивні методи (балансування навантаження, резервування), що прагнуть запобігти збоям шляхом розподілу навантаження та створення резервних копій, а також методи тестування (функціональне тестування, інженерія хаосу), які дають змогу виявляти потенційні проблеми до їх виникнення в робочому середовищі. Докладно проаналізовано переваги та недоліки кожного з цих методів, виявлено їх особливості, а також сфери застосування. Досліджено, що хоча ці методи ефективні в певних ситуаціях, жоден з них не є універсальним рішенням для всіх типів відмов. Це вказує на потребу у комплексному підході, який би враховував специфіку мікросервісної архітектури, вимоги до системи та типи можливих відмов. Визначено ключові проблеми, що потребують подальшого дослідження, такі як розроблення комплексних підходів, що враховують специфіку мікросервісної архітектури, автоматизація процесів виявлення та виправлення помилок, а також зниження вартості запровадження методів забезпечення відмовостійкості. Запропоновано перспективні напрями досліджень, зокрема розроблення нових методів і інструментів, які враховують особливості мікросервісної архітектури та забезпечують високий рівень відмовостійкості за оптимальної вартості, а також дослідження методів раннього виявлення потенційних проблем, таких як безперервне функціональне з використанням інтеграції помилок.
Publisher
Ukrainian National Forestry University
Reference23 articles.
1. Akuthota, A. (2023). Chaos Engineering for Microservices. Culminating Projects in Computer Science and Information Technology, 42, 13–21. URL: https://repository.stcloudstate.edu/csit_etds/42
2. Amaral, M., Pardal, M. L., Mercier, H., & Matos, M. (2020). FaultSee: Reproducible Fault Injection in Distributed Systems. 2020 16th European Dependable Computing Conference (EDCC), Munich, Germany, 25–32. https://doi.org/10.1109/edcc51268.2020.00014
3. Ataallah, S. M. A., Nassar, S. M., & Hemayed, E. E. (2015). Fault tolerance in cloud computing – survey. 2015 11th International Computer Engineering Conference (ICENCO). https://doi.org/10.1109/icenco.2015.7416355
4. Baboi, M., Iftene, A., & Gîfu, D. (2019). Dynamic Microservices to Create Scalable and Fault Tolerance Architecture. Procedia Computer Science, 159, 1035–1044. https://doi.org/10.1016/j.procs.2019.09.271
5. Bouizem, Y. (2022). Fault tolerance in FaaS environments. Thèse de doctorat de, Université Rennes, 135. URL: https://theses.hal.science/tel-03882666/file/BOUIZEM_Yasmina.pdf