Балансировка нагрузки и выбор оптимального узла

В статье рассказывается о системе NGENIX Content Routing Engine, которая обеспечивает выбор оптимального сервера доставки для каждого пользовательского запроса.

При обслуживании пользовательских запросов Платформа решает следующие задачи:

  • Выбор оптимального сервера доставки для каждого конкретного пользователя для максимальной скорости его доступа к данным.

  • Распределение нагрузки по серверам доставки для эффективного использования ресурсов Платформы и сервера оригинации.

За решение этих задач отвечает система NGENIX Content Routing Engine (CRE).

Для определения оптимального узла NGENIX CRE использует оригинальный алгоритм, который учитывает пять блоков параметров (всего более 40 параметров):

  1. Характеристики сетевых маршрутов от конечных пользователей до узлов Платформы и от узлов Платформы до сервера оригинации;

  2. Качество передачи данных в сетях операторов связи;

  3. Качество передачи данных с точки зрения устройств конечных пользователей (Real User Monitoring);

  4. Состояние сетевых и вычислительных ресурсов на узлах Платформы

  5. Популярность данных среди конечных пользователей с учетом топологии сети.

Часть параметров, связанных с состоянием сетевых маршрутов, вычислительных и сетевых ресурсов, отслеживается непрерывно. Эти данные позволяют NGENIX CRE равномерно распределять пользователей по узлам Платформы и избегать чрезмерной нагрузки на отдельные узлы. Если узел по той или иной причине становится недоступен, NGENIX CRE автоматически выводит его из обслуживания и перенаправляет пользователей на другой оптимальный в данный момент узел Платформы.

Для доставки каталога видео NGENIX CRE поддерживает возможность балансировки нагрузки с учетом популярности данных у конечных пользователей. Это повышает эффективность кэширования, позволяя кэшировать на Платформе только популярные данные, а все остальные запросы обслуживать с сервера оригинации или только с части узлов Платформы.

NGENIX CRE поддерживает включение стороннего сетевого и серверного оборудования в состав Платформы в виде выделенного сегмента Платформы (mCDN). При этом распределение запросов может осуществляться по следующим критериям:

  • по ключу запроса,

  • по наличию свободных ресурсов,

  • в определённой пропорции,

  • по топологической близости,

  • по популярности контента.

NGENIX CRE осуществляет балансировку запросов на уровне сети, DNS, HTTP и на уровне приложений.

NGENIX CRE осуществляет отправку проверочных запросов через Платформу в корневую директорию размещенных на Платформе веб-ресурсов. Если в ответ на проверочный запрос приходит один из кодов, указанных ниже, предполагается штатная работа Платформы:

  • 200, 201, 202, 206

  • 300, 301, 302, 303, 304, 305, 307, 308

  • 400, 401, 403, 404, 405, 413, 414, 415, 421

  • 500, 502, 503

Эти проверочные запросы могут производиться одновременно с проверкой доступности серверов оригинации, так как выполняют различные задачи:

  • NGENIX CRE выполняет функции обеспечения отказоустойчивости и оптимальной работы Платформы.

  • Контроль доступности (который можно включить в настройках конфигурации) осуществляет проверку корректной работы серверов оригинации и направляет запросы только к тем серверам оригинации, которые доступны и отдают штатные коды ответа.

Last updated