Как избежать единой точки отказа при использовании сервера состояний на веб-сайте ASP.NET

StackOverflow https://stackoverflow.com/questions/1163126

Вопрос

В моем текущем проекте нам нужно создать веб-сайт (ASP.NET MVC), который, вероятно, будет иметь достаточную нагрузку, чтобы потребовать ферму серверов.Я понимаю, что если используется ферма серверов, состояния сеанса должны храниться где-то еще, например в базе данных SQL-сервера или на сервере состояний.

После некоторых экспериментов мы склоняемся к использованию механизма сервера состояний, но тот факт, что у него будет единая точка отказа, меня нервирует.Есть ли какой-нибудь метод, с помощью которого мы можем избежать «единой точки отказа» при использовании сервера состояний?

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

Решение

Есть что-то под названием разделение состояния сеанса которые вы могли бы использовать, чтобы избежать single point of failure.Если это все еще вас не устраивает, вы можете попробовать Скорость ASP.NET проект, который выглядит многообещающим, хотя он находится только на стадии ОСАГО.

Если вам нужна полная масштабируемость и избыточность, вам, вероятно, следует использовать кластер SQL Server.

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

общий кэш (http://www.sharedcache.com или http://sharedcache.codeplex.com) есть реализация для сессий, она еще не выпущена, но люди ее используют.

Вы можете настроить репликацию SQL Server на другой компьютер или использовать отказоустойчивый кластер.Потенциально это может оказаться дорогостоящим, но сделает ваш компонент базы данных более надежным.

Технически, аппаратная вашего веб-сервера является единой точкой отказа, так же как и ваша сеть и т. д.Я не обязательно буду больше нервничать из-за состояния сеанса, чем из-за любого из них.

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