Статья опубликована в рамках: CCXLI Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 30 июля 2026 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
АЛГОРИТМ ДИНАМИЧЕСКОЙ ОПТИМИЗАЦИИ НАГРУЗКИ В МИКРОСЕРВИСНЫХ СИСТЕМАХ НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ
DYNAMIC LOAD OPTIMIZATION ALGORITHM IN MICROSERVICE SYSTEMS BASED ON MACHINE LEARNING
Karzhavin Nikita Alekseevich
Student, Moscow State University of Technology "STANKIN",
Russia, Moscow
АННОТАЦИЯ
Цель: разработка алгоритма предиктивного масштабирования микросервисной архитектуры для минимизации задержек обработки запросов и оптимизации затрат на облачную инфраструктуру. Метод: применение гибридной модели прогнозирования временных рядов (LSTM + XGBoost), построение графа зависимостей микросервисов и имитационное нагрузочное тестирование. Результат: спроектирован трехэтапный алгоритм предиктивной адаптации ресурсов с учетом связности сервисов. Выводы: внедрение алгоритма сокращает задержку отклика в пиковые периоды и предотвращает перерасход ресурсов по сравнению с реактивными подходами.
ABSTRACT
Background: development of a predictive scaling algorithm for microservice architecture to minimize latency and optimize cloud infrastructure costs. Methods: application of a hybrid time-series forecasting model (LSTM + XGBoost), microservice dependency graph construction, and simulation load testing. Result: a three-stage predictive adaptation algorithm was designed. Conclusion: the algorithm reduces system latency during peak periods and eliminates unnecessary resource consumption compared to reactive approaches.
Ключевые слова: микросервисная архитектура; автомасштабирование; машинное обучение; временные ряды; LSTM; Kubernetes; графическое моделирование; оптимизация ресурсов.
Keywords: microservice architecture; autoscaling; machine learning; time series; LSTM; Kubernetes; graph modeling; resource optimization.
В высоконагруженных облачных средах стандартные механизмы масштабирования (например, Horizontal Pod Autoscaler в Kubernetes) используют реактивный подход, инициируя выделение ресурсов лишь при превышении порогов CPU/RAM [1, с. 112]. Главный недостаток реактивного подхода — временной лаг, возникающий из-за «холодного старта» контейнеров (инициализация, прохождение readiness probes). В этот период узлы перегружаются, что ведет к росту задержек (p99 latency) и потерям пакетов [2, с. 88]. Занижение же порогов приводит к избыточному выделению ресурсов и финансовым издержкам [3, с. 16].
Существующие предиктивные модули зачастую рассматривают микросервисы изолированно, игнорируя каскадный эффект распространения нагрузки [4, с. 36]. Для достижения поставленной цели использовались методы анализа временных рядов, теории графов, машинного обучения и имитационного моделирования. В качестве базовой платформы развертывания рассматривалась среда Kubernetes, а источниками метрик послужили системы мониторинга Prometheus и распределенного трассирования OpenTelemetry. Предложен трехэтапный алгоритм предиктивной оптимизации нагрузки [5, с. 34].
Первый этап — прогнозирование профиля нагрузки. На основе временных рядов метрик (RPS, CPU, RAM) с интервалом в 1 мин. гибридная модель (LSTM для суточной/недельной сезонности + XGBoost для локальных аномалий) формирует прогноз нагрузки на упреждающий горизонт.
(1)
где: t — текущий момент сбора метрик;
Δt = 10 минут — время, необходимое для инициализации ресурсов.
Второй этап — графовый анализ причинно-следственных связей. Нагрузка на фронтенд-сервис неизбежно влечет за собой увеличение интенсивности вызовов к нижестоящим бэкенд-сервисам и базам данных. В рамках алгоритма строится взвешенный ориентированный граф зависимостей.
G = (V,E) (2)
где: V— множество микросервисов;
E — коэффициенты передачи вызовов.
При прогнозировании роста нагрузки на узел Vi алгоритм автоматически рассчитывает прогнозируемую нагрузку для всех смежных узлов Vj∈adj(Vi), предупреждая возникновение скрытых узких мест (bottlenecks) на глубоких уровнях архитектуры [6, с. 104].
Третий этап — предиктивное принятие решений и упреждающий запуск. На основе полученных прогнозов рассчитывается необходимый целевой объем ресурсов. Если прогнозируемое значение метрики превышает целевой уровень доступности, команда на масштабирование подается за время Tstart, равное времени полного запуска и прогрева контейнера конкретного типа. Сводные характеристики и критерии работы этапов алгоритма представлены в таблице 1.
Таблица 1.
Сравнительная матрица критериев и механизмов этапов алгоритма
|
Этап алгоритма |
Входные данные |
Используемый метод / модель |
Выходное решение / Результат |
|
Прогнозирование нагрузки |
Временные ряды RPS, CPU, RAM (Prometheus) |
Гибридная модель LSTM + XGBoost |
Прогноз метрик на горизонт 10 минут |
|
Графовый анализ связей |
Топология вызовов, трассы OpenTelemetry |
Направленный граф (DAG) с весовыми коэффициентами |
Оценка косвенной нагрузки на зависимые сервисы |
|
Упреждающая адаптация |
Прогноз нагрузки, время старта контейнера Tstart |
Регрессионный расчет целевых реплик |
Формирование команды scale в Kubernetes API до наступления пика |
Целевое количество реплик Ntarget в момент времени t + Tstart выражается следующим соотношением [7, с. 42]:
(3)
где: Spred — прогнозируемая суммарная нагрузка на сервис (с учетом графовой корреляции);
Ctarget — целевая производительность одной реплики (RPS/реплика);
σ — коэффициент страхового запаса (σ∈[0,10…0,15]);
Nmin — минимально допустимое количество реплик согласно SLA.
Алгоритм реализован в виде Go-оператора Kubernetes (CRD) с внешним сервисом обучения моделей на Python (PyTorch, XGBoost). Нагрузочное тестирование проводилось в Locust на синтетическом приложении из 8 микросервисов с симуляцией суточного профиля трафика. Сравнивались три сценария: реактивный HPA (70% CPU), событийный KEDA и предложенный предиктивный алгоритм (Таблица 2).
Таблица 2.
Результаты нагрузочного тестирования систем масштабирования
|
Показатель / Метрика |
Реактивный HPA |
Событийный KEDA |
Предложенный алгоритм |
|
Среднее время отклика ( latency p95), мс |
240 |
180 |
110 |
|
Пиковое время отклика ( latency p99), мс |
850 |
620 |
210 |
|
Процент ошибочных ответов (HTTP 5xx), % |
1,4% |
0,6% |
0,02% |
|
Среднесуточный объем выделенных vCPU, ед. |
48 |
42 |
35 |
|
Экономия вычислительных ресурсов, % |
0% (база) |
12,5% |
27,1% |
Предложенный алгоритм снизил пиковую задержку (p99) более чем в 4 раза (с 850 до 210 мс), практически полностью исключил ошибки HTTP 5xx и обеспечил экономию vCPU на уровне 27,1%.
Ограничения метода: необходимость накопления метрик за период не менее 14 суток для обучения ML-моделей, а также переход в комбинированный режим с реактивными ограничениями при незапланированных аномалиях (например, DDoS).
Разработанный алгоритм предиктивной оптимизации нагрузки объединяет нейросетевое прогнозирование и анализ графа структурных зависимостей. Это обеспечивает упреждающее выделение ресурсов, существенно снижает задержки отклика в пиковые периоды и повышает экономическую эффективность использования облачной инфраструктуры.
Список литературы:
- Тарасов А. В. Архитектура микросервисов и контейнеризация. — М.: ДМК Пресс, 2023. — 384 с.
- Newman S. Building Microservices: Designing Fine-Grained Systems. — 2nd ed. — Sebastopol: O'Reilly Media, 2021. — 612 p.
- Кузнецов С. Д. Системы управления ресурсами в виртуализированных средах // Труды ИСП РАН. — 2023. — Т. 35, № 4. — С. 85–98.
- Burns B. Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. — Sebastopol: O'Reilly Media, 2018. — 166 p.
- Василенко Е. М. Применение нейронных сетей для прогнозирования нагрузки в вычислительных сетях // Прикладная информатика. — 2024. — № 2 (110). — С. 34–46.
- Verma A., Pedrosa L., Korupolu M. Large-scale cluster management at Google with Borg // Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15). — Bordeaux, 2015. — P. 1–17.
- ГОСТ Р ISO/IEC 25010-2015. Информационные технологии. Системная и программная инженерия. Требования к качеству и оценка систем и программных продуктов (SQuaRE). Модели качества систем и программной продукции. — М.: Стандартинформ, 2015. — 36 с.
- Kubernetes Documentation: Horizontal Pod Autoscaler [Электронный ресурс]. — URL: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ (дата обращения: 29.07.2026).
дипломов

