Анализ гранулярности микросервисов: эффективность архитектурных подходов

Обложка

Цитировать

Полный текст

Аннотация

Современные информационные системы требуют масштабируемых архитектур для обработки больших данных и обеспечения доступности. Микросервисная архитектура, разделяющая приложения на автономные сервисы по бизнес-функциям, решает эти задачи. Однако оптимальная гранулярность микросервисов влияет на производительность, масштабируемость и управляемость. Неоптимальная декомпозиция приводит к антипаттернам, таким как избыточная мелкость или косметическая микросервисность, усложняя сопровождение. Цель исследования — сравнительный анализ методов определения гранулярности микросервисов для выявления подходов, обеспечивающих баланс производительности, гибкости и управляемости в высоконагруженных системах. Объект исследования – микросервисная архитектура высоконагруженных информационных систем, включая их структурные и функциональные характеристики, определяемые методами декомпозиции на автономные сервисы. Предмет исследования – методы определения гранулярности микросервисов (монолитная архитектура, Domain-Driven Design, Data-Driven Approach, Monolith to Microservices Approach). Применён экспериментальный подход, включающий реализацию приложения Task Manager в четырёх архитектурных конфигурациях. Нагрузочное тестирование проводилось с использованием Apache JMeter при нагрузке 1000 пользователей. Метрики производительности (время отклика, пропускная способность, CPU), доступности, масштабируемости, безопасности и согласованности собраны через Prometheus и обработаны с вычислением средних значений и стандартного отклонения. Научная новизна исследования заключается в разработке унифицированной методологии количественного анализа методов гранулярности микросервисов (монолит, DDD, Data-Driven, Monolith to Microservices), основанной на метриках (время отклика, пропускная способность, CPU, доступность, запуск, безопасность, ошибки), адаптированных для высоконагруженных систем. В отличие от качественных исследований, работа предлагает комплексный подход, включая реализацию приложения Task Manager и нагрузочное тестирование (Apache JMeter, Prometheus), решая проблему выбора оптимальной декомпозиции для повышения производительности и масштабируемости. Методология применима для автоматизации оценки архитектур в CI/CD. Монолит показал минимальное время отклика (0.76 с) и пропускную способность (282.5 запросов/с), но ограничен масштабируемостью. Data-Driven обеспечивает согласованность, DDD эффективен для сложных доменов, Monolith to Microservices имеет низкую производительность (15.99 с) из-за перегрузки авторизации. Ограничение — хост-система (8 ГБ RAM), снижающая масштабируемость. Рекомендации: оптимизировать сетевые вызовы в DDD, доступ к данным в Data-Driven, декомпозицию в Monolith to Microservices.

Об авторах

Юлия Сергеевна Чикалева

Национальный исследовательский университет ИТМО

Email: y.chikaleva99@mail.ru
ORCID iD: 0009-0009-7548-594X
студент; Мегафакультет компьютерных технологий и управления;

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

  1. Ворсин В. А. Микросервисная архитектура бизнес-приложений: перспективы и проблемы // GLOBUS. 2020. Вып. 4 (50). С. 51-53. EDN: TYXBZZ.
  2. Raj P., Vanga S., Chaudhary A. Microservices Security // Cloud‐Native Computing. 2022. doi: 10.1002/9781119814795.ch14.
  3. Зиборев А. В. Антипаттерны построения микросервисных приложений в высоконагруженных проектах // UNIVERSUM: Технические науки. 2023. Вып. 11 (116). Ноя. 2023. doi: 10.32743/UniTech.2023.116.11.16204. EDN: HBLBIO.
  4. Newman S. Building Microservices. 2nd ed. Sebastopol, CA: O'Reilly Media, 2025.
  5. Blinowski G. и др. Monolithic vs. Microservice Architecture: Performance and Scalability Evaluation // IEEE Access. 2022. doi: 10.1109/ACCESS.2022.3152803. EDN: JHKSCZ.
  6. Richardson C. Microservice Architecture Pattern. 2020. Available at: https://microservices.io/patterns/microservices.html (accessed: Jan. 05, 2025).
  7. Momil S., Qaisar A. Transition Strategies from Monolithic to Microservices Architectures: A Domain-Driven Approach and Case Study // VAWKUM Transactions on Computer Sciences. 2024. Vol. 12, No. 1. Pp. 94-110. doi: 10.21015/vtcs.v12i1.1808. EDN: ABOYUL.
  8. Радостев Д. К., Никитина Е. Ю. Стратегия миграции программного кода из монолитной архитектуры в микросервисы // Вестник Пермского Университета. 2021. Вып. 2 (53). С. 65-68. doi: 10.17072/1993-0550-2021-2-65-68. EDN: DSNKOZ.
  9. Jordanov J., Petrov P. Domain Driven Design Approaches in Cloud Native Service Architecture // TEM Journal. 2023. Vol. 12, Issue 4. С. 1985-1994. ISSN 2217-8309. doi: 10.18421/TEM124-09. EDN: MMRBFA.
  10. Vular H., Koyuncu M. Does Domain-Driven Design Lead to Finding the Optimal Modularity of a Microservice? // IEEE Access. 2021. Vol. 9. Pp. 27960-27971. doi: 10.1109/ACCESS.2021.306089.
  11. Hasselbring W., Steinacker G. Microservice Architectures for Scalability, Agility and Reliability in E-Commerce // 2017 IEEE International Conference on Software Architecture Workshops (ICSAW). Gothenburg: IEEE, 2017. P. 46-49. doi: 10.1109/ICSAW.2017.11.
  12. Schmidt R. A., Thiry M. Microservices Identification Strategies: A Review Focused on Model-Driven Engineering and Domain-Driven Design Approaches // 2020 15th Iberian Conference on Information Systems and Technologies (CISTI). Seville: IEEE, 2020. P. 1-6. doi: 10.23919/CISTI49556.2020.9141150.
  13. Christudas B. Practical Microservices Architectural Patterns. New York: Apress, 2019. doi: 10.1007/978-1-4842-4501-9.
  14. Sriraman A., Wenisch T. F. µSuite: A Benchmark Suite for Microservices // 2018 IEEE International Symposium on Workload Characterization (IISWC). Raleigh: IEEE, 2018. P. 1-12. doi: 10.1109/IISWC.2018.8573515.
  15. Henning S., Hasselbring W. Benchmarking scalability of stream processing frameworks deployed as microservices in the cloud // Journal of Systems and Software. 2024. Vol. 208. [Online]. Available: https://doi.org/10.1016/j.jss.2023.111879. EDN: RVNVGK.
  16. Bjørndal N., & Pires de Araújo, etc. Benchmarks and performance metrics for assessing the migration to microservice-based architectures // The Journal of Object Technology. August 2021. doi: 10.5381/jot.
  17. Артамонов И. В. Показатели производительности микросервисных систем // Вестник НГИЭИ. 2018. Вып. 8 (87). С. 24-33. EDN: XYTGKT.
  18. Waseem M., Liang P., Shahin M., et al. Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective // Journal of Systems and Software. 2021. Vol. 182. Article 111061. doi: 10.1016/j.jss.2021.111061. EDN: ATPBYU.
  19. Ramu V. Performance Impact of Microservices Architecture // Rev. Contemp. Sci. Acad. Stud. 2023. Vol. 3. P. 1-6.
  20. Hassan S., Bahsoon R., & Buyya R. Systematic scalability analysis for microservices granularity adaptation design decisions // Software: Practice and Experience. 2022. Vol. 52, No. 6. doi: 10.1002/spe.3069. EDN: MOLQOU.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML

Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».