Стратегии масштабирования для приложений ASP.NET - Балансировка нагрузки

ОГЛАВЛЕНИЕ

Балансировка нагрузки

Чтобы применить распределение, необходимо добавить новые серверы, продублировать приложение на них и организовать балансировку нагрузки. Для балансировки нагрузки можно использовать службу балансировки сетевой нагрузки (Network Load Balancing – NLB), входящую во все версии Windows Server® 2003. NLB делает каждый сервер равноправным партнером в отношении балансировки нагрузки. Все они используют одинаковый алгоритм балансировки, и все они прослушивают весь трафик на общем виртуальном IP-адресе. Основываясь на алгоритме балансировки нагрузки, каждый сервер знает, какой сервер должен работать над каждым конкретным запросом. Каждый сервер в кластере оправляет периодический сигнал, давая остальным знать, что он работоспособен. При сбое сервера периодический сигнал для него останавливается, и остальные серверы компенсируют потерю выбывшего автоматически.
NLB хорошо работает при наличии большого числа пользователей, делающих довольно похожие запросы. Однако механизм компенсации работает хуже в ситуации, где некоторые запросы создают намного большую нагрузку, чем другие. К счастью, для такого типа ситуаций доступны решения балансировки нагрузки на основе оборудования.