Статья опубликована в рамках: Научного журнала «Студенческий» № 27(365)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал
ОПТИМИЗАЦИЯ БАЛАНСИРОВКИ НАГРУЗКИ В МИКРОСЕРВИСНОЙ АРХИТЕКТУРЕ НА ОСНОВЕ АДАПТИВНЫХ АЛГОРИТМОВ МАРШРУТИЗАЦИИ ЗАПРОСОВ
OPTIMIZATION OF LOAD BALANCING IN MICROSERVICE ARCHITECTURE BASED ON ADAPTIVE REQUEST ROUTING ALGORITHMS
Skornyakov Dmitry Alexandrovich
Student, Moscow Institute of Electronics and Mathematics, HSE University,
Russia, Moscow
АННОТАЦИЯ
Актуальность исследования обусловлена ростом числа высоконагруженных микросервисных систем, где от корректности распределения запросов между экземплярами сервисов зависят время отклика и устойчивость платформы. Существующие статические алгоритмы балансировки – round robin, least connections, IP hash – не учитывают динамику загрузки узлов в реальном времени, что приводит к неравномерному распределению трафика. Целью работы является разработка и оценка адаптивного алгоритма маршрутизации запросов, учитывающего совокупность метрик состояния узлов. В исследовании применены методы сравнительного анализа, имитационного моделирования и статистической обработки данных. Результаты моделирования показали снижение среднего времени отклика системы и более равномерное распределение нагрузки по сравнению с традиционными алгоритмами.
ABSTRACT
The relevance of this study is driven by the growing number of high-load microservice systems, where the correctness of request distribution among service instances directly determines response time and platform stability. Existing static load balancing algorithms – round robin, least connections, IP hash – do not account for the real-time dynamics of node load, which leads to uneven traffic distribution. The aim of the study is to develop and evaluate an adaptive request routing algorithm that takes into account a combination of node state metrics. The study employs methods of comparative analysis, simulation modeling, and statistical data processing. The simulation results showed a reduction in average system response time and a more even load distribution compared to traditional algorithms.
Ключевые слова: балансировка нагрузки, микросервисная архитектура, адаптивные алгоритмы, маршрутизация запросов, распределённые системы, отказоустойчивость, латентность, масштабируемость.
Keywords: load balancing, microservice architecture, adaptive algorithms, request routing, distributed systems, fault tolerance, latency, scalability.
Введение
Переход крупных систем от монолитной архитектуры к микросервисной изменил требования к распределению трафика: число взаимодействующих компонентов теперь исчисляется сотнями, а характер нагрузки на каждый из них меняется во времени [1]. Даже при формально равномерном распределении запросов отдельные экземпляры сервисов способны получать непропорционально большую нагрузку из-за различий в длительности обработки и состоянии кэшей – эффект «горячих узлов», одна из основных причин деградации производительности систем [2].
Алгоритмы, применяемые по умолчанию в промышленных решениях – round robin, weighted round robin, least connections, IP hash, – опираются на статические параметры или ограниченный набор метрик [3], тогда как реальная нагрузка определяется утилизацией процессора, длиной очереди и временем отклика. Цель статьи – разработка адаптивного алгоритма балансировки нагрузки, учитывающего метрики состояния узлов в реальном времени, и оценка его эффективности в сравнении с традиционными подходами.
Анализ существующих решений
Round robin направляет запросы поочерёдно на каждый узел независимо от его состояния, что при неоднородной длительности обработки приводит к накоплению очереди на медленных узлах [4]; weighted round robin учитывает статически заданные веса, но они не изменяются в зависимости от фактической нагрузки. Least connections направляет запрос на узел с наименьшим числом активных соединений, однако их число – лишь косвенный индикатор нагрузки [5]. IP hash и иные детерминированные схемы решают иную задачу – сохранение липких сессий (session affinity).
Современные сервисные сетки (Envoy, Kubernetes) предлагают распределение с учётом задержки отклика и алгоритм P2C, сравнивающий два случайно выбранных узла [6], что снижает вероятность «горячих узлов». Однако большинство конфигураций ограничивается одной-двумя метриками и не агрегирует их в комплексную оценку, что оставляет пространство для схемы, комбинирующей несколько метрик состояния узла.
Архитектура предлагаемой системы
Предлагается архитектура адаптивного балансировщика, включающая три компонента: модуль маршрутизации запросов (Routing Engine), модуль сбора метрик узлов и модуль расчёта весов (рис. 1). Модуль сбора метрик периодически получает от каждого инстанса утилизацию процессора, длину очереди и экспоненциально сглаженное время отклика (EWMA); эти значения агрегируются модулем расчёта весов в единую оценку нагрузки узла, обновляющую таблицу весов для маршрутизации.

Рисунок 1. Архитектура системы адаптивной балансировки нагрузки
Формализация алгоритма
Оценка нагрузки узла
в момент
– взвешенная сумма нормированных метрик:
![]()
– утилизация процессора (0…1);
– длина очереди;
– сглаженное время отклика;
– весовые коэффициенты (0,4 / 0,3 / 0,3).
Вес узла:
. Вероятность направления запроса на узел
пропорциональна его весу (взвешенный случайный выбор), что сглаживает реакцию на всплески метрик.
Сглаживание отклика:
.
Организация эксперимента
Построена имитационная модель из пяти инстансов сервиса с неоднородной производительностью (различие до 40%) и генератором запросов переменной интенсивности. В качестве базовых алгоритмов сравнения использовались round robin, least connections и weighted round robin со статическими весами.
По результатам серии из десяти прогонов имитационной модели для каждого алгоритма были получены усреднённые показатели (табл. 1).
Таблица 1.
Сравнение алгоритмов балансировки нагрузки по результатам моделирования
|
Алгоритм |
Среднее время отклика, мс |
Макс. Отклонение загрузки узла, % |
Пропускная способность, запр./с |
Накладные расходы |
|
Round Robin |
187 |
38 |
4200 |
Низкие |
|
Least Connections |
162 |
27 |
4550 |
Низкие |
|
Weighted Round Robin |
171 |
24 |
4480 |
Низкие |
|
Адаптивный (предложенный) |
138 |
11 |
4820 |
Средние |
Наиболее выраженное преимущество адаптивного алгоритма – снижение среднего времени отклика и уменьшение максимального отклонения загрузки узлов, при умеренном росте накладных расходов на сбор и агрегацию метрик по сравнению с least connections. Существенное ограничение – зависимость качества балансировки от частоты опроса узлов: при значительном увеличении интервала алгоритм начинает вести себя схоже с weighted round robin, а весовые коэффициенты α, β и γ специфичны для рассмотренного сценария и потребуют повторной калибровки при переносе на системы с иным характером трафика.
Заключение
Предложен адаптивный алгоритм маршрутизации запросов в микросервисной архитектуре, объединяющий утилизацию процессора, длину очереди и сглаженное время отклика в единую оценку для распределения нагрузки. Проверка показала, что подход обеспечивает более равномерное распределение нагрузки и снижает среднее время отклика по сравнению с round robin, least connections и weighted round robin при умеренном росте накладных расходов на телеметрию. Практическая значимость – в применении модели агрегации метрик при проектировании модулей балансировки либо настройке существующих решений (Envoy, HAProxy). Направления дальнейших исследований – автонастройка коэффициентов средствами машинного обучения и оценка устойчивости при отказах узлов и сетевых задержках.
Список литературы:
- Newman S. Building Microservices: Designing Fine-Grained Systems. — 2nd ed. — Sebastopol: O'Reilly Media, 2021. — 610 p.
- Kleppmann M. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. — Sebastopol: O'Reilly Media, 2017. — 616 p.
- Richardson C. Microservices Patterns: With Examples in Java. — Shelter Island: Manning Publications, 2018. — 520 p.
- Burns B., Beda J., Hightower K., Villalba L. Kubernetes: Up and Running. — 3rd ed. — Sebastopol: O'Reilly Media, 2022. — 366 p.
- Barroso L. A., Hölzle U., Ranganathan P. The Datacenter as a Computer: Designing Warehouse-Scale Machines. — 3rd ed. — San Rafael: Morgan & Claypool Publishers, 2018. — 189 p.
- Beyer B., Jones C., Petoff J., Murphy N. R. Site Reliability Engineering: How Google Runs Production Systems. — Sebastopol: O'Reilly Media, 2016. — 552 p.

