Алгоритм перерозподілу навантаження для забезпечення функціональної стійкості розподілених вебзастосунків
DOI: 10.31673/2412-9070.2024.050183
Анотація
У статті розглядається алгоритм перерозподілу навантаження, який спрямований на забезпечення функціональної стійкості розподілених вебзастосунків. Функціональна стійкість є критично важливою для забезпечення надійної роботи та високої доступності вебзастосунків в умовах підвищеного навантаження, технічних несправностей або кібератак. Аналізуються різні методи перерозподілу навантаження, такі статичні та динамічні з детальним розглядом їхніх переваг та недоліків.
Також проводиться аналіз існуючого програмного забезпечення, яке використовує балансувальник навантаження. На основі проведеного дослідження розроблена програмна система, яка забезпечує функціональну стійкість розподілених вебзастосунків на основі нового алгоритму перерозподілу навантаження і складається з таких модулів: сервіс імен, сервер та його інтеграція з сервісом імен, клієнт, балансувальник навантаження. Система автоматично додає та вилучає сервери, що будуть оброблювати користувацькі запити, виконує задачу балансування навантаження та розподіляє навантаження сервера, що відмовив. Постійний моніторинг стану серверів дозволяє вчасно виявляти можливі проблеми та оперативно реагувати на них шляхом визначення оптимального розподілу запитів на основі поточного стану серверів та перенаправлення запитів користувачів на активні сервери для зменшення затримок та покращення загальної продуктивності системи. Аналіз отриманих даних про навантаження дає змогу алгоритму приймати обґрунтовані рішення щодо перенаправлення запитів, що сприяє зниженню затримок. Проводилося математичне моделювання з метою визначення часу перерозподілу навантаження. Проаналізувавши результати, зроблено висновок, що із зростанням кількості відмов зростає час пеперозподілу, що має експоненціальний характер.
Ключові слова: розподілені вебзастосунки, функціональна стійкість, алгоритм перерозподілу навантаження, запити, сервери.
Список використаної літератури
1. Собчук В.В., Барабаш О.В., Мусієнко А.П. Основи забезпечення функціональної стійкості інформаційних систем підприємств в умовах впливу дестабілізуючих факторів: монографія. Київ: Міленіум, 2022. 272 с. ISBN: 973-966-8063-82-3. URL: https://www.researchgate.net/publication/363474851_Basis_for_functional_ stability_of_information_systems_businesses_under_the_influence_ of_destabilizing_factors
2. Shafiq D.A., Jhanjhi N., Abdullah A. Load balancing techniques in cloud computing environment: a review. Journal of King Saud University - Computer and Information Sciences. 2022. Vol. 34, no. 7. P. 3910-3933. URL: https://doi.org/10.1016/j.jksuci.2021.02.007
3. Barabash O., Svynchuk O., Salanda I., Mashkov V., Myroniuk M. Ensuring the Functional Stability of the Information System of the Power Plant on the Basis of Monitoring the Parameters of the Working Condition of Computer Devices. Advanced Information Systems, 2024. Vol. 8, no. 2. P. 107-117. URL: https://doi.org/10.20998/2522- 9052.2024.2.12
4. Barabash, O., Sobchuk, V., Musienko, A., Laptiev, O., Bohomia, V., Kopytko, S. System Analysis and Method of Ensuring Functional Sustainability of the Information System of a Critical Infrastructure Object. In: Zgurovsky, M., Pankratova, N. (eds) System Analysis and Artificial Intelligence. Studies in Computational Intelligence, 2023. Vol. 1107. Springer, Cham. P. 117-192. URL: https://doi.org/10.1007/978-3-031-37450-0_11
5. Peng S.-L., Lin C.-K., Tan J.J.M. and Hsu L.-H. The g-Good-Neighbor Conditional Diagnosability of Hypercube under PMC Model. Applied Mathematics and Computation, 2012. Vol. 218, no. 21. Р. 10406-10412. URL: https://doi.org/10.1016/j.amc.2012.03.092
6. Yuan J., Liu A., Ma X., Liu X., Qin X. and Zhang J. The g-Good-Neighbor Conditional Diagnosability of k-Ary n-Cubes under the PMC Model and MM Model. IEEE Transactions on Parallel and Distributed Systems, 2015. Vol. 26, no. 4. P. 1165-1177. URL: http://doi.org/10.1109/TPDS.2014.2318305
7. Sobchuk V., Barabash O., Musienko A., Svynchuk O. Adaptive accumulation and diagnostic information systems of enterprises in energy and industry sectors. E3S Web of Conferences. 2021. Vol. 250. P. 82-87. URL: https://doi.org/10.1051/e3sconf/202125008002
8. Сисоєв І.К., Гавриленко В.В. Адаптивний алгоритм балансування навантаження в додатках з використанням технології контейнеризації. Системи управління, навігації та зв’язку. Збірник наукових праць. 2022. Т. 1 (67). С. 81-83. URL: https://doi.org/10.26906/SUNZ.2022.1.081
9. HTTP Load Balancing | NGINX Documentation. URL: https://docs.nginx.com/nginx/adminguide/load balancer/http-load-balancer/ (дата звернення: 27.06.2024).
10. Service load balancing – Amazon Elastic Container Service. URL: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html (дата звернення: 13.06.2024).
11. Feig R. Computer Networks: The OSI Reference Model. URL: http://www.rad.com/networks/1994/osi/intro.htm (дата звернення: 27.06.2024).
12. Zaouch A., Benabbou F. Load Balancing for Improved Quality of Service in the Cloud. International Journal of Advanced Computer Science and Applications. 2015. Vol. 6, no. 7. P. 184-189. URL: https://doi.org/10.14569/IJACSA.2015.060724