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

Как NLB будет работать с веб-сервисами IIS-7?

Мы собираемся объединить 2 (два) веб-сервера IIS7 в NLB с одним и тем же опубликованным веб-сервисом (2 экземпляра одного и того же веб-сервиса, по одному на каждый веб-сервер).

Заранее спасибо!

Короткий: NLB все равно.

NLB наплевать на ваше приложение. Проблемы пользовательского режима так пользовательский режим.

Пока сетевой стек может отправлять и получать широковещательные рассылки NLB (или многоадресные рассылки!), NLB будет продолжать принимать трафик.

Дольше: NLB действительно все равно.

NLB работает как фильтр NDIS уровня 2 и просто запускает свой алгоритм хеширования для всего входящего трафика и принимает биты, соответствующие правилам порта.

Каждый узел должен видеть все входящий трафик (многоадресная / широковещательная рассылка коммутатором), и каждый узел отбрасывает пакеты, не соответствующие его критериям хеширования.

NLB - это статистический балансировщик нагрузки. Не заботливый.

  • Для него не важно, что ваше приложение бросает 500.
  • Он не обращает внимания на то, что ваш процесс прослушивания пользовательского режима потерпел крах.
  • Он не знает, что ваше приложение работает медленно.

Это просто. Не. уход.

В лучший случай сбой для NLB для (одного из):

  • коробка, чтобы полностью умереть от сбоя питания
  • сетевой кабель, который нужно отрезать или отключить
    • (возможно, пылесосом)
    • (или сетевая карта взрывается ливнем искр)
    • (или быть украденным проходящим вором)
    • (или любая форма физический прерывание сети)
  • коробка на синий экран

Любой из них мешает сетевому стеку обрабатывать входящие пакеты и отправлять "Я живой!" широковещательные сообщения другим узлам NLB, в результате чего кластер на некоторое время (секунды) становится все интроспективным, выясняет, какие узлы все еще присутствуют, и повторно сходится.

Затем, когда оставшимся узлам станет ясно, сколько их существует, они снова начнут хеширование и отбросят все новые пакеты, которые им не интересны.

Если тебе надо

  • мониторинг здоровья,
  • бережное отношение к недогруженным серверам,
  • и интеллектуальные решения на основе времени отклика

NLB - это не решение для вас. Если ваше приложение в порядке с этим или знает о NLB достаточно, чтобы запускать NLB STOP при возникновении проблемы на уровне приложения, то, вероятно, все в порядке. Но очень немногие приложения делают это (на ум приходят ISA / TMG).

Похоже, я писал об этом некоторое время назад Вот.

Ищу в другом месте Если вы ищете недорогое (читай: бесплатное) решение для Windows, подумайте о маршрутизации запросов приложений для IIS 7+ - в нем есть большинство функций мониторинга работоспособности, которые, похоже, вы ищете.

Однако, как правило, вы бы не запускали его на том же компьютере, что и приложения, и для обеспечения доступности вы обычно хотите запускать NLB под ARR, чтобы объединить доступность балансировщиков нагрузки на уровне сети с интеллектуальными функциями уровня приложений. уровень.

  • Отредактировано, чтобы сказать, что мой ответ относится к общей балансировке сетевой нагрузки, а не к службе Microsoft NLB!

Ответ действительно зависит от того, насколько сложен ваш балансировщик нагрузки. Самая простая установка - это балансировщик нагрузки, отправляющий запросы к одному веб-серверу на другой на основе циклического перебора и использующий команду ping для определения того, работает ли хост или нет.

Вы можете использовать более сложные проверки работоспособности, которые должны пройти ваши серверы с балансировкой нагрузки, прежде чем они будут помещены в пул с балансировкой нагрузки.

Чтобы выполнить проверку работоспособности, вы обычно настраиваете страницу на своем веб-сервере, которая зависит от всех аспектов работы вашего веб-сервера. Возможно, какой-то php ищет что-то в базе данных, а затем пишет на экране «ОК», если все работает. Затем вы должны настроить проверку работоспособности балансировщика нагрузки, чтобы посмотреть на эту страницу и убедиться, что на ней написано «ОК».

Если проверка работоспособности не удалась, то сервер, который не прошел проверку, будет удален из пула, и трафик на него не будет отправляться. Если все ваши серверы выходят из строя, обычно возможно, что ваш балансировщик нагрузки будет обслуживать страницу удержания.

Опять же, в зависимости от того, насколько сложен ваш балансировщик нагрузки, вы можете использовать различные механизмы балансировки нагрузки. Вы действительно можете балансировать нагрузку на основе нагрузки на сервер, количества подключений к серверу, вы можете сделать так, чтобы некоторые серверы получали большую нагрузку, чем другие, вы можете иметь «липкие» сеансы, когда один и тот же клиент всегда отправляется на один и тот же веб-сервер. Есть много возможностей.