ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ МИКРОСЕРВИСНО-СОБЫТИЙНЫХ АРХИТЕКТУР ДЛЯ ВЫСОКОНАГРУЖЕННЫХ РАСПРЕДЕЛЕННЫХ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИЙ
УДК 004.27
Ключевые слова: микросервисная архитектура, событийно-ориентированная архитектура, паттерн посредник, паттерн брокера.
Для цитирования: Карпович М. Н. Особенности проектирования микросервисно-событийных архитектур для высоконагруженных распределенных систем обработки информаций // Труды БГТУ. Сер. 3, Физико-математические науки и информатика. 2023. № 1 (266). С. 89–95. DOI: https://doi.org/10.52065/2520-6141-2023-266-1-15.
Аннотация
В статье рассматриваются характеристики различных архитектурных решений, сложности, проблемы, ключевые особенности и лучшие практики при их использовании. Выполнено сравнение монолитной, микросервисной и событийно-ориентированной архитектуры. При создании архитектуры для обработки больших потоков данных разработчики сочетают архитектуру, управляемую событиями, и архитектуру микросервисов для создания систем, которые являются чрезвычайно масштабируемыми, доступными, отказоустойчивыми, параллельными и простыми в разработке и обслуживании. Описываются и сравниваются подходы к работе с данными в микросервисной и монолитной архитектурах. Рассматриваются паттерны маршрутизации запросов, такие как API Gateway и Service Discovery. Указаны их преимущества, недостатки и особенности реализации. Сравниваются два подхода поиска адресов на стороне сервера и клиента. Приводится пример реализации событийно-ориентированной архитектуры на основе таких паттернов, как посредник и брокера. Описываются способы их реализации, особенности, сильные и слабые стороны каждого из них. Приведены сравнения подходов для межпроцессорного общения микросервисов, использующих синхронный и асинхронный тип взаимодействия. Даны сравнения брокеров сообщений по различным параметрам. В заключении обосновывается выбор архитектуры приложения для распределенной обработки больших объемов данных.
Список литературы
- Карпович М. Н. Проектирование микросервисных архитектур информационных систем // Информационные технологии: материалы 86-й науч.-техн. конф. проф.-препод. состава, науч. сотрудников и аспирантов (с междунар. участием), Минск, 31 января – 12 февраля 2022 года. Минск: БГТУ, 2022. C. 82–85.
- Newman S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. USA: O'Reilly Media Publ., 2019. P. 255.
- Bellemare A. Building Event-Driven Microservices. USA: O'Reilly Media, 2020. 304 р.
- Richardson C. Microservices Patterns: With examples in Java. USA: Manning, 2018. 520 р.
- Gough J., Bryant D., Auburn M. Mastering API Architecture. USA: O’Reilly Media, 2021. 268 р.
- Christudas B. Practical Microservices Architectural Patterns. USA: Apress, 2019. 934 р.
- Bruce M., Pereira P. Microservices in Action. USA: Manning, 2018. 392 р.
- Filipe H., Rocha O. Practical Event-Driven Microservices Architecture. USA: Apress, 2021. 166 р.
- Stopford B. Designing Event-Driven Systems. USA: O’Reilly Media, 2018. P. 75–80.
- Mertcan A. Redis vs Kafka vs RabbitMQ // Buy me a coffee. URL: https://buymeacoffee.com/argucmertcan/redis-vs-kafka-vs-rebbitmq (дата обращения: 22.12.2022).