Правильная ссылка на статью:
Чикалева Ю.С..
Анализ гранулярности микросервисов: эффективность архитектурных подходов
// Программные системы и вычислительные методы.
2025. № 2.
С. 79-93.
DOI: 10.7256/2454-0714.2025.2.74386 EDN: NCFQFE URL: https://nbpublish.com/library_read_article.php?id=74386
Читать статью
Результаты процедуры рецензирования статьи:
Результаты процедуры повторного рецензирования статьи:
Результаты процедуры окончательного рецензирования статьи:
|
EDN: NCFQFE
|
Аннотация:
Современные информационные системы требуют масштабируемых архитектур для обработки больших данных и обеспечения доступности. Микросервисная архитектура, разделяющая приложения на автономные сервисы по бизнес-функциям, решает эти задачи. Однако оптимальная гранулярность микросервисов влияет на производительность, масштабируемость и управляемость. Неоптимальная декомпозиция приводит к антипаттернам, таким как избыточная мелкость или косметическая микросервисность, усложняя сопровождение. Цель исследования — сравнительный анализ методов определения гранулярности микросервисов для выявления подходов, обеспечивающих баланс производительности, гибкости и управляемости в высоконагруженных системах. Объект исследования – микросервисная архитектура высоконагруженных информационных систем, включая их структурные и функциональные характеристики, определяемые методами декомпозиции на автономные сервисы. Предмет исследования – методы определения гранулярности микросервисов (монолитная архитектура, 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.
Ключевые слова:
микросервисная архитектура, гранулярность микросервисов, Domain-Driven Design, Data-Driven Approach, Monolith to Microservices, производительность, масштабируемость, согласованность данных, экспериментальный анализ, высоконагруженные системы
Abstract:
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).
Keywords:
experimental analysis, data consistency, scalability, performance, Monolith to Microservices, Data-Driven Approach, Domain-Driven Design, granularity of microservices, microservice architecture, high-load systems