会话状态服务器冗余

时间:2009-05-20 07:26:46

标签: asp.net iis session-state

我们目前在单个服务器上运行ASP.NET Web应用程序。该服务器即将达到CPU使用率的危险区域,我们希望部署第二台服务器。

处理会话状态的最佳方法是什么?

我们目前正在运行InProc。但是这不是2+服务器的选项,因为我们希望从WLB轮换中排除单个服务器,有时需要进行维护工作。即使我们使用粘性负载平衡,我们也必须等待所有用户退出,然后才能从WLB轮换中排除服务器。

所以我正在查看此MSDN页面:http://msdn.microsoft.com/en-us/library/ms178586(VS.80).aspx

我想我的主要问题是:如果我们使用State Server模式。我们可以通过在两台服务器上部署状态服务器来确保重新认证吗?为了避免单点故障。

5 个答案:

答案 0 :(得分:1)

如果您需要其中一个标准选项,我会在故障转移群集中使用SQL Server。 BTW你有没有考虑过memcacheddb?

答案 1 :(得分:0)

您可能希望查看项目速度(http://msdn.microsoft.com/en-us/data/cc655792.aspx)。现在它的支持有限,因为它是在CTP3上,但今年晚些时候它将是RTM。我强烈建议您观看有关它的MIX09会话here

答案 2 :(得分:0)

我建议查看p2p会话状态服务器 - 链接在这里:http://www.codeproject.com/KB/aspnet/p2pstateserver.aspx

为我工作。唯一的缺点是,如果你有一个大型数据集,它将永远在同行之间复制。

答案 3 :(得分:0)

使用Scale Out State服务器(更快更好)或SQL State(更慢更简单)。但要注意,如果将任何无可序列化的对象存储到会话状态,因为迁移后会出现异常。

答案 4 :(得分:0)

Sql State服务器将是更好的选择:此链接可能有助于Sql State Server 。我不相信你可以在多台机器上运行状态服务器。