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