У нас есть набор из 6 бэкэндов, которые обслуживают наш сайт. Поскольку мы используем несколько центров обработки данных, мы обнаружили, что лучшая производительность достигается для нас, когда у нас при помощи лака отправляется запрос на httpd-сервер localhost (работает на порту 81). Это, конечно, очень простая конфигурация, хорошо поддерживаемая лаком, и ее можно выполнить с помощью резервного директора:
director default fallback {
{ .backend = localbackend; }
{ .backend = web1; }
{ .backend = web2; }
{ .backend = web3; }
etc...
}
Однако резервный директор пробует другие серверы по порядку, пока не найдет здоровый. БОЛЬШАЯ проблема заключается в том, что в приведенном выше конфиге web1 будет принимать весь трафик, если localbackend завершится неудачно !!! Это перегрузит web1 и он заболеет. Затем все запросы отправляются на web3 ... и теперь он будет получать в 3 раза больше обычного трафика ... вызывая каскадный сбой.
Таким образом, вместо этого нам нужна конфигурация, которая позволит всем запросам отправляться на httpd-сервер localhost, если он исправен, но если нет, отправлять запросы на другие работоспособные серверы в режиме циклического перебора.
Заранее благодарим вас за любые предложения и решения, о которых вы можете подумать ... Ваша помощь очень ценится.