Вопрос

Сценарий:

Веб-сайт размещен на трех серверах с использованием IIS на каждом.

Все три сервера кластеризованы с использованием программного обеспечения для балансировки сетевой нагрузки, поставляемого вместе с Windows Server 2003.

Все три сайта настроены на хранение состояния сеанса на отдельном сервере, который был обозначен как "сервер состояния".

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

Это было полезно?

Решение

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

Другие советы

Мы используем Масштабирование сервера состояний для этого я и работаю, и он прекрасно справляется со своей задачей и предельно прост в настройке.Я понимаю, что Microsoft также работает над аналогичным продуктом под названием Скорость, но у меня нет никакого опыта в этом.

Единственным недостатком SOSS является то, что за это приходится платить, но у меня не было ничего, кроме отличного опыта взаимодействия с их командой продаж и поддержки.Если вы в конечном итоге получите лицензию, сделайте мне одолжение и дайте им знать, что Дэниел из Gratis прислал вас ;)

Вы ищете технологию распределенного кэширования.Microsoft Velocity - это тот, в котором Microsoft опубликовала примеры замены значения по умолчанию ASP.NET Состояние сеанса на скорость, позволяющую распространять его.Существуют и другие поставщики кэширования, такие как Memcache.

Редактировать: Обновление этого ответа для получения информации, более актуальной для текущего времени, этот тип функциональности встроен в Windows Azure с продуктом AppFabric.Некоторую краткую информацию об этом можно посмотреть здесь: Виртуальный запуск Windows Server и Azure AppFabric 20 мая

База данных сеансов на сервере SQL может быть легко масштабирована с небольшими изменениями кода и конфигурации.Вы можете привязывать asp.net сеансы к базе данных сеансов, и независимо от того, какой веб-сервер в вашей ферме обслуживает запрос, сопоставление sql-сервера состояния на основе идентификатора сеанса работает безупречно.Вероятно, это один из лучших способов масштабирования ASP.NET Состояние сеанса с использованием SQL server.Для получения дополнительной информации перейдите по ссылке

Истинная модель масштабирования для состояния сеанса

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top