В настоящее время мы разрабатываем несколько веб-сайтов с использованием 2 интерфейсных веб-серверов (с использованием apache и tomcat / jboss) с балансировщиком нагрузки перед ними. Поскольку я программист, а не системный администратор, я могу только догадываться, на что способен приличный аппаратный балансировщик нагрузки. Мне было интересно, может ли аппаратный балансировщик нагрузки проверять коды состояния HTTP, чтобы трафик перенаправлялся только на один сервер, если другой не работает для обслуживания (который теперь отправляет код ошибки 503 HTTP).
Спасибо!
Бен
Да, это делают практически все балансировщики нагрузки. Большинство балансировщиков нагрузки также пойдут дальше и выведут мертвый HTTP-сервер из строя, если он:
Редактировать: Кроме того, у хороших балансировщиков нагрузки есть простой способ установить сервер в режим обслуживания, то есть балансировщик нагрузки перестанет отправлять новые запросы на этот сервер и отобразит в своем пользовательском интерфейсе, когда сервер перестанет получать трафик. После этого вы можете свободно выполнять необходимое обслуживание сервера перед его повторным вводом в эксплуатацию.
Кроме того, большинство балансировщиков нагрузки имеют концепцию аварийного сервера, то есть, если все обычные HTTP-серверы не работают, весь трафик будет отправлен на назначенный аварийный сервер в вашей локальной сети, который затем может доставить статическое сообщение «мы не работаем на техническое обслуживание, проверьте назад позже »страница.
Coyote Point делает хорошие устройства балансировки нагрузки низкого уровня ИМХО. Есть много других поставщиков балансировщиков нагрузки низкого уровня; Барракуда это один из примеров. В этом контексте «low-end» не является отрицательным, просто рынок разделен на две части:
Если OP не имеет собственных навыков системного администратора, то покупка устройства, не требующего особого обслуживания, имеет большой смысл. Если вы хотите и можете настроить сервер Unix, тогда возьмите посмотри на этот пост. Если вы используете Microsoft Windows, то Microsoft Маршрутизация запросов приложений версия 1 или 2 (бета) могут быть хорошими решениями (я их не так хорошо знаю).
Apache / tomcat, конечно, может - посмотрите документацию для "fail_on_status".
Балансировщики нагрузки BigIP могут это сделать. Но чтобы иметь хорошую производительность, необязательно приобретать большой аппаратный LB. Проверьте nginx и лак. Varnish был специально написан как кэширующий балансировщик нагрузки и обладает широкими возможностями настройки. http://varnish.projects.linpro.no/