ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ МИКРОСЕРВИСНО-СОБЫТИЙНЫХ АРХИТЕКТУР ДЛЯ ВЫСОКОНАГРУЖЕННЫХ РАСПРЕДЕЛЕННЫХ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИЙ

УДК 004.27

  • Карпович Максим Николаевич – магистрант кафедры программной инженерии. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: karpovich@belstu.by

Ключевые слова: микросервисная архитектура, событийно-ориентированная архитектура, паттерн посредник, паттерн брокера.

Для цитирования: Карпович М. Н. Особенности проектирования микросервисно-событийных архитектур для высоконагруженных распределенных систем обработки информаций // Труды БГТУ. Сер. 3, Физико-математические науки и информатика. 2023. № 1 (266). С. 89–95. DOI: https://doi.org/10.52065/2520-6141-2023-266-1-15.

Аннотация

В статье рассматриваются характеристики различных архитектурных решений, сложности, проблемы, ключевые особенности и лучшие практики при их использовании. Выполнено сравнение монолитной, микросервисной и событийно-ориентированной архитектуры. При создании архитектуры для обработки больших потоков данных разработчики сочетают архитектуру, управляемую событиями, и архитектуру микросервисов для создания систем, которые являются чрезвычайно масштабируемыми, доступными, отказоустойчивыми, параллельными и простыми в разработке и обслуживании. Описываются и сравниваются подходы к работе с данными в микросервисной и монолитной архитектурах. Рассматриваются паттерны маршрутизации запросов, такие как API Gateway и Service Discovery. Указаны их преимущества, недостатки и особенности реализации. Сравниваются два подхода поиска адресов на стороне сервера и клиента. Приводится пример реализации событийно-ориентированной архитектуры на основе таких паттернов, как посредник и брокера. Описываются способы их реализации, особенности, сильные и слабые стороны каждого из них. Приведены сравнения подходов для межпроцессорного общения микросервисов, использующих синхронный и асинхронный тип взаимодействия. Даны сравнения брокеров сообщений по различным параметрам. В заключении обосновывается выбор архитектуры приложения для распределенной обработки больших объемов данных.

Список литературы

  1. Карпович М. Н. Проектирование микросервисных архитектур информационных систем // Информационные технологии: материалы 86-й науч.-техн. конф. проф.-препод. состава, науч. сотрудников и аспирантов (с междунар. участием), Минск, 31 января – 12 февраля 2022 года. Минск: БГТУ, 2022. C. 82–85.
  2. Newman S. Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. USA: O'Reilly Media Publ., 2019. P. 255.
  3. Bellemare A. Building Event-Driven Microservices. USA: O'Reilly Media, 2020. 304 р.
  4. Richardson C. Microservices Patterns: With examples in Java. USA: Manning, 2018. 520 р.
  5. Gough J., Bryant D., Auburn M. Mastering API Architecture. USA: O’Reilly Media, 2021. 268 р.
  6. Christudas B. Practical Microservices Architectural Patterns. USA: Apress, 2019. 934 р.
  7. Bruce M., Pereira P. Microservices in Action. USA: Manning, 2018. 392 р.
  8. Filipe H., Rocha O. Practical Event-Driven Microservices Architecture. USA: Apress, 2021. 166 р.
  9. Stopford B. Designing Event-Driven Systems. USA: O’Reilly Media, 2018. P. 75–80.
  10. Mertcan A. Redis vs Kafka vs RabbitMQ // Buy me a coffee. URL: https://buymeacoffee.com/argucmertcan/redis-vs-kafka-vs-rebbitmq (дата обращения: 22.12.2022). 
Поступила 30.01.2023