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

Резервные балансировщики нагрузки для веб-серверов на базе Windows?

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

Веб-серверы работают под управлением Windows Server 2003 R2 64 и обслуживают приложения .NET через IIS. Серверы баз данных работают под управлением Windows Server 2008 Enterprise 64 в отказоустойчивом кластере SQL Server с SQL Server 2008. В настоящее время имеется два веб-сервера и два сервера баз данных.

Чего я хочу добиться:

Это чистый магазин Microsoft; поэтому, к сожалению, стандартные инструменты Linux нам недоступны.

Что я пробовал:

Дизайн:

Итак, учитывая все вышесказанное, является ли Microsoft NLB единственным ответом? Или есть более подходящие инструменты для нашей ситуации?

Изменить 21.04.11

Спасибо за быстрый отзыв. Просто чтобы прояснить несколько моментов:

То, что вы хотите, называется Маршрутизация запросов приложений Microsoft 2 (ARR). (Может быть, это неуклюжее название отчасти объясняет, почему так мало людей знают о его существовании?)

Microsoft ARR - это бесплатный балансировщик нагрузки уровня HTTP, реализованный в виде модуля для IIS 7+. (Сама ARR предоставляется бесплатно, но, конечно, для базовой ОС требуется лицензия Windows Server.)

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

Для действительно высокой доступности настройки, ты должен сочетать NLB и ARR, так что NLB поддерживает высокий уровень доступности сервера ARR, а ARR поддерживает высокий уровень доступности внутреннего веб-сервера. См. Документацию Microsoft и длинный список документации в конце обзорной страницы ARR, ссылка на которую находится вверху.

Единственный реальный недостаток ARR заключается в том, что если вы действительно обеспечиваете высокую доступность, вам потребуются как минимум 2 лицензии Windows Server и физические серверы. Учитывая это, и учитывая время, необходимое для настройки, тогда недорогие устройства балансировки нагрузки, такие как Coyote Point или loadbalancer.org иногда может быть рентабельной альтернативой (или Kemp, Barracuda Networks или любой другой недорогой поставщик).

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

Это будет зависеть от того, как обрабатывается состояние сеанса, то есть от того, как ваши внутренние серверы используют или не передают информацию «этот пользователь вошел в систему».

Если уровень веб-приложений не имеет состояния (т. Е. Размещение состояния сеанса в общем хранилище данных, fx общий кеш RAM или MSSQL), вы можете просто вытащить сервер из пула. Если нет, то вы можете использовать «закрепленные сеансы» на балансировщике нагрузки и удалить внутренний сервер из пула балансировщика нагрузки, а затем подождать, пока все пользователи не «истощат» данный сервер.

Вилли Тарро, автор HAProxy, имеет хороший обзор методов и проблем балансировки нагрузки здесь.

Даже если конкретный ответ является «хорошим» ответом, если вы единственный человек в организации, который не боится входить в него, вы будете владеть им навсегда. А все остальные будут винить во всем страшное иностранное устройство, включая коричневые растения на своем столе, которые погибли от недостатка воды.

Я обнаружил, что системные администраторы с моноглотом не так напуганы чем-то с веб-интерфейсом. (Не нужно рассказывать им о ядре Linux, на котором оно работает). А как насчет коммерческого устройства, такого как F5, Brocade / Foundry ServerIron, Cisco CSS, CoyotePoint и т. Д.? Мы используем HA-пару ServerIrons, и в прошлом я использовал CSS / Arrowpoints.

Если ваш магазин полностью настроен на решение только от Microsoft, их шлюз ForeFront Threat Management Gateway имеет функцию «Server Farm», которая выполняет некоторую балансировку нагрузки (ссылка на сайт). Это не так функционально, как выделенные аппаратные балансировщики нагрузки, и не так настраиваемо, как доступное программное обеспечение для Linux-стека, но оно поможет вам в некоторых случаях использования. И что немаловажно, он, вероятно, будет где-то в вашем прайс-листе Microsoft.

TMG может быть сам сбалансирован через NLB.

Старое решение, которое все еще продается, - это центральная диспетчеризация, которая делает то, что вы хотите. Я заметил, что вы не указали «бесплатные» в своих требованиях, поэтому у вас есть коммерческие решения от Cisco, F5, Foundry и т. Д., Которые должны иметь возможность делать то, что вы хотите.

Я просто проигнорирую то, что вы сказали о решениях только от Microsoft, поскольку в данном случае их нет. Либо покупайте аппаратные боксы, либо запускайте виртуальные машины поверх vmware ESXi. Мы используем последний с виртуальными балансировщиками нагрузки KEMP.

Barracuda предлагает полнофункциональный и простой в использовании аппаратный балансировщик нагрузки, который следует добавить в список.