ВПРОВАДЖЕННЯ МІКРОСЕРВІСНОЇ АРХІТЕКТУРИ: ТЕХНІЧНІ ВИКЛИКИ ТА РІШЕННЯ

Автор(и)

DOI:

https://doi.org/10.35546/kntu2078-4481.2024.4.39

Ключові слова:

монолітна архітектура, мікросервісна архітектура, декомпозиція сервісів, міжсервісне спілкування, забезпечення безпеки, керування розподіленими даними

Анотація

Дана робота досліджує технічні виклики, з якими стикаються організації та розробники під час впровадження мікросервісної архітектури та пропонує рішення для їх подолання. Основна увага приділяється таким аспектам, як декомпозиція сервісів, міжсервісна комунікація, забезпечення безпеки та керування даними в розподілених системах. Зокрема, Domain-Driven Design визначається як ключова стратегія для сегментації монолітних додатків на бізнес-орієнтовані мікросервіси, тим самим підвищуючи придатність системи до обслуговування та потреб масштабованості. Дискусія про міжсервісну комунікацію розкриває компроміси між синхронними та асинхронними методами, зауважуючи, як синхронна комунікація, забезпечуючи негайний фідбек, може призвести до затримок та потенційних збоїв, тоді як асинхронні стратегії покращують стійкість, масштабованість та слабозв’язність, але привносять додаткову складність. Дослідження також розглядає механізми безпеки, наголошуючи на ролі Single Sign-On та API Gateway у спрощенні контролю доступу та підвищенні безпеки в мікросервісній архітектурі. Крім того, ця робота надає рекомендації щодо вирішення викликів розподіленого керування даними, рекомендуючи реплікацію, зумовлену подіями, та паттерн Saga для забезпечення консистентності даних між сервісами, разом з використанням GraphQL, API Gateway та паттерну CQRS для ефективної агрегації та отримання даних. Розглядаючи ці аспекти, було підкреслено критичність стратегічного та інформованого підходу до впровадження мікросервісів, наголошуючи на необхідності розуміння наслідків кожної архітектурної опції для ефективної побудови стійких, масштабованих та адаптивних програмних систем.

Посилання

Vural H., Koyuncu M. Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice?. IEEE Access. 2021. Vol. 9. P. 32721–32733. DOI: 10.1109/access.2021.3060895

Mihai I. S. A Systematic Evaluation of Microservice Architectures Resulting from Domain-Driven and Dataflow-Driven Decomposition. Bachelor's thesis. University of Twente, 2023. URL: https://essay.utwente.nl/95827/

Rademacher F., Sachweh S., Zündorf A. Towards a UML Profile for Domain-Driven Design of Microservice Architectures. Software Engineering and Formal Methods. Cham, 2018. P. 230–245. DOI: 10.1007/978-3-319-74781-1_17

Rudrabhatla C. K. Impacts of Decomposition Techniques on Performance and Latency of Microservices. International Journal of Advanced Computer Science and Applications. 2020. Vol. 11, no. 8. DOI: 10.14569/ijacsa.2020.0110803

Newman S. Building Microservices: Designing Fine-Grained Systems. O'Reilly Media, Incorporated, 2021. 616 p

Kazanavičius J., Mažeika D. Evaluation of Microservice Communication While Decomposing Monoliths. Computing and Informatics. 2023. Vol. 42, no. 1. P. 1–36. DOI: 10.31577/cai_2023_1_1

Shafabakhsh B., Lagerström R., Hacks S. Evaluating the Impact of Inter Process Communication in Microservice Architectures. QuASoQ@APSEC. 2020. P. 55–63. URL: https://ceur-ws.org/Vol-2767/07-QuASoQ-2020.pdf

I. Karabey Aksakalli et al Deployment and communication patterns in microservice architectures: A systematic literature review. Journal of Systems and Software. 2021. Vol. 180. P. 111014. DOI: 10.1016/j.jss.2021.111014

Interservice communication. URL: https://learn.microsoft.com/en-us/azure/architecture/microservices/design/interservice-communication

Tereshchenko O., Trintina N. Development Principles of Secure Microservices. CPITS II. 2021. P. 11–20. URL: https://ceur-ws.org/Vol-3188/paper2.pdf

de Almeida M. G., Canedo E. D. Authentication and Authorization in Microservices Architecture: A Systematic Literature Review. Applied Sciences. 2022. Vol. 12, no. 6. P. 3023. DOI: 10.3390/app12063023

Mateus-Coelho N., Cruz-Cunha M., Ferreira L. G. Security in Microservices Architectures. Procedia Computer Science. 2021. Vol. 181. P. 1225–1236. DOI: 10.1016/j.procs.2021.01.320

Chandramouli R. Security strategies for microservices-based application systems. Gaithersburg, MD : National Institute of Standards and Technology, 2019. DOI: 10.6028/nist.sp.800-204

K. Munonye and P. Martinek. Evaluation of Data Storage Patterns in Microservices Archicture. 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE), Budapest, Hungary, 2020. DOI: 10.1109/sose50414.2020.9130516

Challenges and solutions for distributed data management. URL: https://learn.microsoft.com/en-us/dotnet/architecture/microservices/architect-microservice-container-applications/distributed-data-management

##submission.downloads##

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

2024-12-30