Edge Load Balancer, по сути, является HAProxy и поддерживает различные способы балансировки трафика между серверами. В том числе, балансировку HTTP-запросов по URI - веб-адресу страницы, которую мы и рассмотрим в этой статье.
Такой способ балансировки используется, когда нужно отделить "тяжёлые" запросы от остального трафика и перенаправить его на отдельный пул серверов.
Тестовая инфраструктура
Для демонстрации этого способа балансировки были развёрнуты три виртуальные машины в отдельном vApp: web1, web2, web3.

web2 в нашем случае займётся обработкой тяжелого, а web1 и web3 - всего остального трафика.
Для отладки и проверки работы веб-серверов были добавлены временные fw и dnat правила.
Firewall - разрешён трафик на внешний IP по портам с 80 по 83.

NAT - каждый порт перенаправляется на свой сервер

В качестве веб-серверов использовался nginx, помимо домашней страницы были добавлены ещё две страницы light.html и heavy.html.
Конфигурации виртуальных машин и веб-серверов идентичны.
Отличаются имена хостов, внутренние IP адреса и сами веб-страницы: заголовок для наглядности отображает имя хоста веб-сервера.

Настройка Load Balancer
Global Configuration
Включаем балансировку

Application Profiles
Добавляем профиль приложения, который будет использоваться виртуальным сервером.

Service Monitoring
Добавляем мониторинг веб-серверов. Это не обязательно, но позволит следить за работоспособностью и использовать только "живые" сервера пула.
Монитор или None выбирается на следующем шаге.


Pools
Добавляем два пула серверов: для "тяжёлого" и для всего остального трафика


Application Rules
Добавляем правило, которое как раз и позволит балансировщику распределять трафик по пулам в зависимости от URI:
acl site_heavy path_beg -i /heavyuse_backend pool-web2 if site_heavy
Страницы с адресами /heavy будут переданы на обработку серверам pool-web2 пула.
Правил может быть больше, чем использует виртуальный сервер.


Virtual Servers
Добавляем Virtual Server. На вкладке General включаем его, выбираем профиль приложения, внешний IP адрес, протокол и пул по умолчанию.

На вкладке Advanced выбираем ранее определённые правила приложений.

В результате получилась такая настройка:

Проверяем
Домашняя страница

Переход по light-ссылке

Переход по heavy-ссылке

Балансировка по URI работает, настройка завершена.
Примеры различных правил можно посмотреть в официальной документации.
