Asp.net mvc 高可用性ASP.NET MVC

Asp.net mvc 高可用性ASP.NET MVC,asp.net-mvc,high-availability,Asp.net Mvc,High Availability,当以高可用性为目标构建ASP.NET MVC应用程序时,如果没有可用的状态服务器,将会话状态保留在SQL Server上是否是一种良好的做法?我建议(f.k.a.Velocity)取而代之。这里真正的一点是,您有2-3个Web服务器,就像您在对Craigs答案的评论中提到的那样 一种方法是使用SQL server sessionstate,它有自己的问题 如果您有这台SQL Server,我会非常小心,因为sessionstate的DB会给它带来沉重的负载。每个请求都将写入数据库 我们使用2个W

当以高可用性为目标构建ASP.NET MVC应用程序时,如果没有可用的状态服务器,将会话状态保留在SQL Server上是否是一种良好的做法?

我建议(f.k.a.Velocity)取而代之。

这里真正的一点是,您有2-3个Web服务器,就像您在对Craigs答案的评论中提到的那样

一种方法是使用SQL server sessionstate,它有自己的问题

如果您有这台SQL Server,我会非常小心,因为sessionstate的DB会给它带来沉重的负载。每个请求都将写入数据库

我们使用2个Web服务器和一个具有粘性会话的负载平衡器。如果您的第一个请求在服务器1中结束,则所有请求都由服务器1处理。(这有点复杂,但你明白了。)


这可能不是最好的解决方案,但至少在我们的网站上(这是一个用户通常停留20-30分钟的商店),它工作得很好。我们只使用很少的SessionState,并且ProfileSystem存储了大部分特定于用户的内容。但是我想如果请求转到不同的服务器,ProfileSystem也会失败。

我需要使用现有的平台2-3 web服务器和sql server。也许你应该更新你的问题,以包括你的所有需求。不过,顺便说一句,AppFabric缓存设计用于多个web服务器,而且它比SQL缓存和粘性会话都快,所以我不确定我是否看到你的反对意见。