在ASP.NET网站中使用状态服务器时如何避免单点故障

时间:2009-07-22 04:55:22

标签: asp.net asp.net-mvc state-server server-farm

在我目前的项目中,我们必须创建一个网站(ASP.NET MVC),该网站可能有足够的负载来要求服务器场。我了解如果使用服务器场,会话状态必须存储在其他位置,例如SQL Server数据库或状态服务器。

经过一些实验,我们倾向于使用状态服务器机制,但事实上它会有单点故障,这让我很紧张。在使用状态服务器时,有什么方法可以避免“单点故障”吗?

3 个答案:

答案 0 :(得分:5)

您可以使用名为session state partitioning的内容,以避免single point of failure。如果这仍然不适合您,那么您可以考虑尝试ASP.NET Velocity项目,即使它只处于CTP阶段,它看起来也很有希望。

如果您想要完全可扩展性和冗余,那么您应该使用SQL Server群集。

答案 1 :(得分:1)

sharedcache(http://www.sharedcache.comhttp://sharedcache.codeplex.com)有会话实现,目前尚未发布,但人们正在使用它。

答案 2 :(得分:-2)

您可以将SQL Server复制设置为另一台计算机或使用failover cluster。 这可能会很昂贵,但会使您的数据库组件更加健壮。

从技术上讲,您的网络服务器设备室是一个单点故障,以及您的网络等。我不一定会对会话状态感到紧张。