Балансировка сетевой нагрузки (NLB): подходит ли она для приложений ASP.NET с состоянием? - PullRequest
0 голосов
/ 30 ноября 2009

Я опубликовал следующий вопрос, касающийся веб-ферм ASP.NET.

Как создать веб-ферму ASP.NET?

Ребята рекомендовали использовать балансировку сетевой нагрузки (NLB) в качестве основного способа создания веб-фермы.

Однако, Википедия говорит, что «NLBS предназначен для ... приложений без сохранения состояния». Наше веб-приложение, однако, абсолютно "с состоянием" : это закрытый сайт, к которому пользователи будут иметь доступ по логину и паролю, и информация для каждого пользователя будет отличаться: люди будут видеть свои собственные сделки операции.

Должны ли мы все еще использовать NLB в этом сценарии?

Спасибо.

Ответы [ 4 ]

1 голос
/ 30 ноября 2009

Должны ли мы по-прежнему использовать NLB в этом сценарии?

Не вижу причин, почему бы и нет, если вы будете следовать инструкциям.

Веб-приложение по своей природе не имеет состояния, поэтому даже если ваши пользователи должны войти в систему, оно не делает приложение сохраняющим состояние.

Соедините вещи, которые в ASP.NET находятся в состоянии:

  • Состояние сеанса
  • Cache

, который можно соответствующим образом настроить в WebFarm.

Вот пример о том, как настроить NLB.

0 голосов
/ 30 ноября 2009

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

http://msdn.microsoft.com/en-us/library/ms998288.aspx#paght000007_webfarmdeploymentconsiderations

Существует несколько вариантов управления состоянием сеанса между вашими веб-серверами:

http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

http://support.microsoft.com/kb/311209

0 голосов
/ 30 ноября 2009

Я думаю, что балансировка нагрузки все еще желательна. Вам просто нужно настроить его так, чтобы сессии были «липкими»: как только сессия открыта:

http://technet.microsoft.com/en-us/library/bb734910.aspx

0 голосов
/ 30 ноября 2009

Вы все еще можете использовать NLB, но вам нужен тот, который поддерживает Sticky Sessions, а это означает, что он всегда будет перенаправлять трафик с определенного клиента на один и тот же веб-сервер. Не лучшее решение с точки зрения балансировки нагрузки, но, по крайней мере, позволяет расширяться до нескольких серверов.

...