Бэкенд — логический объект для приема HTTP-трафика, основными параметрами которого являются хосты (узлы бэкенда) и правила распределения трафика по узлам. Бэкенд выполняет балансировку нагрузки на указанные хосты согласно параметрам.
Если для бэкенда задано нескольких узлов, бэкенд позволяет выбрать механизмы балансировки трафика:
Перебором (Round Robin) — запросы отправляются в указанном порядке на узлы бэкенда.
Согласованное хеширование (Consistent Hashing) — запросы направляются на узлы бэкенда согласно их хешу.
EWMA — метод экспоненциально взвешенного скользящего среднего (Exponentially Weighted Moving Average) принимает во внимание недавние по времени данные для распределения запросов. Алгоритм подсчитывает среднюю задержку на узлах бэкенда и выбирает узел с минимальной задержкой.
Наименьшее число подключений (Least connections) — запросы направляются на узел бэкенда с наименьшим числом активных запросов.
Существуют два вида бэкендов в зависимости от доступности бэкенда:
Общий бэкенд — доступен всем шлюзам и правилам внутри проекта для Shared API Gateway. Такой бэкенд можно переиспользовать.
Частный бэкенд — указывается для правила и недоступен другим шлюзам в группе или проекте, а также другим правилам. Частный бэкенд не переиспользуется, и при удалении правила, с которым он связан, не будет доступен.
В API Gateway используются бэкенды двух типов. Тип бэкенда определяет, что можно выбрать в качестве хоста, принимающего трафик. В зависимости от типа бэкенда задаются узлы бэкенда:
тип бэкенда «Стандартный» — трафик направляется на URL-адрес или IP-адрес.
тип бэкенда «Container Apps» — трафик распределяется на контейнерное приложение Container Service, созданное в сервисе Container Apps.
Если указано несколько узлов бэкенда, к ним применяются параметры балансировки.
Узел бэкенда — конечная точка приема трафика после применения параметров распределения и балансировки бэкенда.
Типы узлов бэкенда:
URL-адрес или IP-адрес хоста бэкенда.
Контейнерное приложение (Container Service), созданное в сервисе Container Apps.
Типы узлов бэкенда соответствуют выбранному типу бэкенда.
Примеры адресов стандартного бэкенда:
https://example.com
https://example.com:80
127.0.0.1:80
127.0.0.1
https://example.com:443