Мы собираемся объединить 2 (два) веб-сервера IIS7 в NLB с одним и тем же опубликованным веб-сервисом (2 экземпляра одного и того же веб-сервиса, по одному на каждый веб-сервер).
Заранее спасибо!
Короткий: NLB все равно.
NLB наплевать на ваше приложение. Проблемы пользовательского режима так пользовательский режим.
Пока сетевой стек может отправлять и получать широковещательные рассылки NLB (или многоадресные рассылки!), NLB будет продолжать принимать трафик.
Дольше: NLB действительно все равно.
NLB работает как фильтр NDIS уровня 2 и просто запускает свой алгоритм хеширования для всего входящего трафика и принимает биты, соответствующие правилам порта.
Каждый узел должен видеть все входящий трафик (многоадресная / широковещательная рассылка коммутатором), и каждый узел отбрасывает пакеты, не соответствующие его критериям хеширования.
NLB - это статистический балансировщик нагрузки. Не заботливый.
Это просто. Не. уход.
В лучший случай сбой для NLB для (одного из):
Любой из них мешает сетевому стеку обрабатывать входящие пакеты и отправлять "Я живой!" широковещательные сообщения другим узлам NLB, в результате чего кластер на некоторое время (секунды) становится все интроспективным, выясняет, какие узлы все еще присутствуют, и повторно сходится.
Затем, когда оставшимся узлам станет ясно, сколько их существует, они снова начнут хеширование и отбросят все новые пакеты, которые им не интересны.
Если тебе надо
NLB - это не решение для вас. Если ваше приложение в порядке с этим или знает о NLB достаточно, чтобы запускать NLB STOP при возникновении проблемы на уровне приложения, то, вероятно, все в порядке. Но очень немногие приложения делают это (на ум приходят ISA / TMG).
Похоже, я писал об этом некоторое время назад Вот.
Ищу в другом месте Если вы ищете недорогое (читай: бесплатное) решение для Windows, подумайте о маршрутизации запросов приложений для IIS 7+ - в нем есть большинство функций мониторинга работоспособности, которые, похоже, вы ищете.
Однако, как правило, вы бы не запускали его на том же компьютере, что и приложения, и для обеспечения доступности вы обычно хотите запускать NLB под ARR, чтобы объединить доступность балансировщиков нагрузки на уровне сети с интеллектуальными функциями уровня приложений. уровень.
Ответ действительно зависит от того, насколько сложен ваш балансировщик нагрузки. Самая простая установка - это балансировщик нагрузки, отправляющий запросы к одному веб-серверу на другой на основе циклического перебора и использующий команду ping для определения того, работает ли хост или нет.
Вы можете использовать более сложные проверки работоспособности, которые должны пройти ваши серверы с балансировкой нагрузки, прежде чем они будут помещены в пул с балансировкой нагрузки.
Чтобы выполнить проверку работоспособности, вы обычно настраиваете страницу на своем веб-сервере, которая зависит от всех аспектов работы вашего веб-сервера. Возможно, какой-то php ищет что-то в базе данных, а затем пишет на экране «ОК», если все работает. Затем вы должны настроить проверку работоспособности балансировщика нагрузки, чтобы посмотреть на эту страницу и убедиться, что на ней написано «ОК».
Если проверка работоспособности не удалась, то сервер, который не прошел проверку, будет удален из пула, и трафик на него не будет отправляться. Если все ваши серверы выходят из строя, обычно возможно, что ваш балансировщик нагрузки будет обслуживать страницу удержания.
Опять же, в зависимости от того, насколько сложен ваш балансировщик нагрузки, вы можете использовать различные механизмы балансировки нагрузки. Вы действительно можете балансировать нагрузку на основе нагрузки на сервер, количества подключений к серверу, вы можете сделать так, чтобы некоторые серверы получали большую нагрузку, чем другие, вы можете иметь «липкие» сеансы, когда один и тот же клиент всегда отправляется на один и тот же веб-сервер. Есть много возможностей.