Я собираюсь изучить NLB в Windows Server 2003. Теперь он объединяет оба моих интереса: масштабируемость и высокую доступность. Но я не знаю о его возможностях в производственной среде.
NLB - эффективное решение?
Как это реализовать в реальном мире? Это популярно?
Каков его предел?
Большое спасибо за ответы на мои вопросы. :)
NLB - довольно эффективное решение, но у него тоже есть свои ограничения. ИТ-служба работает только с одним центром обработки данных, поэтому вам лучше убедиться, что у вас нет проблем с ним, или с несколькими кластерами NLB. Пределы масштабируемости NLB указаны в документации - я думаю, что это около 32 компьютеров. Это хорошее решение, если у вас нет внешнего балансировщика нагрузки (например, в маршрутизаторе спереди). Это определенно лучше, чем циклический перебор DNS, который, с одной стороны, игнорирует использование компьютеров, а с другой стороны, компьютеры не обслуживаются.
NLB НЕ решит неотъемлемых проблем масштабируемости, но попытается (и сделает достойную работу) сбалансировать входящие соединения с разными компьютерами.
Это популярно? Не так много. Основная причина в том, что многие высокопроизводительные маршрутизаторы уже имеют функцию балансировки нагрузки, и почему-то люди выбирают оборудование. Это непопулярно? Нет. Жалко, что он не получил широкого распространения? Да, это действительно достойная технология.
Кстати, обновитесь до 2008 R2 - ваша лицензия в любом случае покрывает это (если вы не ПРИОБРЕЛИ лицензии, тогда вы - в убытке, поскольку они не могут использоваться поставщиками услуг И дороже, чем ежемесячное соглашение об аренде SPLA с Microsoft .... a веб-сервер примерно за 15 долларов в месяц за лицензию на процессор, кстати.).
Есть много разных способов достичь NLB, это не универсальный подход и действительно зависит от того, с какой службой и приложением вы работаете.
Масштабирование - это ключ ко многим крупным интернет-приложениям. Вы можете найти этот доклад инженеров facebook интересным. http://fosdem.org/2010/schedule/events/scalingfacebook
Иногда более рентабельно использовать инструменты с открытым исходным кодом для кластеризации, поскольку плата за лицензию на сервер может нанести ущерб стартапу. Даже не спрашивайте, сколько вам будет стоить лицензия клиентского доступа на 2 миллиона пользователей ;-).
Если вы можете определить, где находятся ваши узкие места, вы можете сконцентрироваться на их первоочередной атаке для достижения наибольшего успеха. Ничего хорошего в масштабировании клиентских http-сервисов, если, например, все соединения идут к перегруженному экземпляру mysql с привязкой к вводу-выводу.