Назад | Перейти на главную страницу

Как мне сбалансировать нагрузку на большой диапазон портов для обеспечения высокой доступности?

У меня есть сервис, который публикует отдельные сервисы в разных портах через consul и fabio. У меня есть пара этих внутренних балансировщиков нагрузки Fabio. У них обоих есть полный набор действующих открытых правил. Это будет некоторое подмножество 1024-49151. Возможно случайное распределение. Я хочу, чтобы мой внешний LB перенаправлял входящий порт на внутренний порт на любом узле. Переписываем пакет по мере необходимости. В идеале он обнаруживал бы сбой внутренних узлов и обеспечивал бы передачу трафика только на работающие узлы. Мне не так нужна балансировка нагрузки, как аварийное переключение. Поскольку NLB в AWS не использует диапазоны, а вы платите по количеству правил в дополнение к трафику, я чувствую, что застрял с HAProxy в кластере.

Внешний IP-прокси HA 1 -> Узел Fabio -> / Холодный прокси HA контейнера Nomad 2 -> Узел Fabio - /

Я предполагаю, что мне нужен порт проверки работоспособности на узле fabio, или я мог бы просто пойти с ping.

Я знаю, что этот вариант использования необычен, но у нас действительно будет отдельная служба на каждом порту, и мы полностью ожидаем, что нам придется перейти на второй набор портов, если все пойдет хорошо.

Хотел бы получить рекомендацию по конфигурации HAProxy. И никаких мнений относительно справедливости этого решения.

Другой ответ - попытаться выполнить аварийное переключение IP на узле fabio. Но я не могу найти примеров, чтобы люди делали это на данный момент.