Analysis of Microservices Granularity: Effectiveness of Architectural Approaches

封面

如何引用文章

全文:

详细

Modern information systems require scalable architectures for processing big data and ensuring availability. Microservice architecture, based on decomposing applications into autonomous services focused on business functions, addresses these challenges. However, the optimal granularity of microservices impacts performance, scalability, and manageability. Suboptimal decomposition leads to anti-patterns, such as excessive fineness or cosmetic microservice architecture, complicating maintenance. The aim of the study is a comparative analysis of methods for determining the granularity of microservices to identify approaches that provide a balance of performance, flexibility, and manageability in high-load systems. The object of the study is the microservice architecture of high-load systems. The subject of the research is the comparison of granularity methods, including monolith, DDD, Data-Driven Approach, Monolith to Microservices, and their impact on the system. The study employs an experimental approach, including the implementation of a Task Manager application in four architectural configurations. Load testing was conducted using Apache JMeter under a load of 1000 users. Performance metrics (response time, throughput, CPU), availability, scalability, security, and consistency were collected via Prometheus and processed to calculate averages and standard deviations. The scientific novelty lies in the development of a methodology for comparative analysis of decomposition methods using unified metrics adapted for high-load systems, setting this study apart from works that focus on qualitative assessments. The results of the experiment showed that the monolithic architecture provides the minimum response time (0.76 s) and high throughput (282.5 requests/s) under a load of 1000 users, but is limited in scalability. The Data-Driven Approach ensures data consistency, DDD is effective for complex domains, while Monolith to Microservices demonstrates low performance (response time 15.99 s) due to the overload of the authorization service. A limitation of the study is the use of a single host system (8 GB RAM), which may restrict the scalability of the experiment. The obtained data are applicable for designing architectures of high-load systems. It is recommended to optimize network calls in DDD (based on response time of 1.07 s), data access in Data-Driven (response time of 5.49 s), and to carefully plan decomposition for Monolith to Microservices to reduce the load on services (response time of 15.99 s).

参考

  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») на элемент с текстом «Принять и продолжить».