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

Обложка

Цитировать

Полный текст

Аннотация

Современные информационные системы требуют масштабируемых архитектур для обработки больших данных и обеспечения доступности. Микросервисная архитектура, разделяющая приложения на автономные сервисы по бизнес-функциям, решает эти задачи. Однако оптимальная гранулярность микросервисов влияет на производительность, масштабируемость и управляемость. Неоптимальная декомпозиция приводит к антипаттернам, таким как избыточная мелкость или косметическая микросервисность, усложняя сопровождение. Цель исследования — сравнительный анализ методов определения гранулярности микросервисов для выявления подходов, обеспечивающих баланс производительности, гибкости и управляемости в высоконагруженных системах. Объект исследования – микросервисная архитектура высоконагруженных информационных систем, включая их структурные и функциональные характеристики, определяемые методами декомпозиции на автономные сервисы. Предмет исследования – методы определения гранулярности микросервисов (монолитная архитектура, 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

Согласие на обработку персональных данных

 

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