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

Как лучше всего запустить резервное копирование HAProxy в качестве другого сервера HAProxy и избежать циклических проблем

У меня есть несколько географических регионов для развертывания моей службы, например, Region1, Region2 и Region3. В каждом регионе есть резервный экземпляр haproxy. Каждый haproxy настроен с несколькими внутренними серверами, которые получают запросы на свои частные IP-адреса.

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

Если в одном из бэкэндов центра обработки данных возникают проблемы, я бы хотел, чтобы HAProxy из этих регионов направлял трафик в другие регионы, которые находятся в сети (с использованием опции «allbackups», с включенным httpchk для резервных копий), чтобы обслуживать запросы даже с увеличенной задержкой, до тех пор, пока проблема не будет решена локально или пока не сработает отработка отказа DNS. Изначально это казалось хорошей идеей, но теперь я думаю, что это будет время от времени вызывать циклическое перенаправление, и мне интересно, есть ли у кого-нибудь предложения о том, как реализовать такую ​​настройку ( или лучшие альтернативные конфигурации).

Пример моего описания выше:

region1-haproxy

region2-haproxy

region3-haproxy

Я ищу что-то подобное для моей производственной среды на основе AWS, я думаю, что использование Heartbeat может быть хорошим решением в вашем случае. Я планирую использовать Heartbeat между двумя моими серверами HAProxy, и если один из них выйдет из строя, я планирую назначить эластичный IP-адрес машине, которая теперь становится моим основным сервером. Я бы посоветовал заглянуть, чтобы услышать, и вот еще одна ссылка, которую я нашел полезной для этого сценария:

HA-HAProxy