Pergunta

No meu projeto atual, temos de criar um site (ASP.NET MVC), que é susceptível de ter carga suficiente para exigir um farm de servidores. Eu entendo que se farm de servidores é usada, estados de sessão devem ser armazenados em algum outro lugar, como banco de dados do servidor SQL ou servidor de estado.

Depois de algumas experiências, estamos inclinados a usar o mecanismo de servidor de estado, mas o fato de que ele terá um único ponto de falha, me deixa nervoso. Existe algum método pelo qual podemos evitar "ponto único de falha" ao usar servidor de estado?

Foi útil?

Solução

Existe algo chamado estado de sessão de particionamento que você poderia usar, a fim de evitar uma single point of failure. Se isso ainda não combina com você, então você pode considerar tentar o ASP.NET Velocity projeto, que parece promissor, embora seja apenas em estágio CTP.

Se você quiser total escalabilidade e redundância, então você provavelmente deve usar um servidor de cluster SQL.

Outras dicas

sharedcache ( http://www.sharedcache.com ou http://sharedcache.codeplex.com ) tem uma implementação para as sessões, ela não é liberada até agora, mas as pessoas estão usando-o.

Você pode configurar a replicação do SQL Server para outra máquina ou usar um failover de cluster . Isso poderia ser caro, mas faria o componente de banco de dados mais robusto.

Tecnicamente, o seu web sala de equipamentos servidor é um ponto único de falha, bem como sua rede, etc. I não seria necessariamente mais nervoso sobre o estado da sessão do que qualquer um desses.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top