Как избежать единой точки отказа при использовании сервера состояний на веб-сайте ASP.NET - PullRequest
4 голосов
/ 22 июля 2009

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

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

Ответы [ 3 ]

5 голосов
/ 22 июля 2009

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

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

1 голос
/ 28 июля 2009

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

0 голосов
/ 22 июля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...