在我目前的项目中,我们必须创建一个网站(ASP.NET MVC),该网站可能有足够的负载来要求服务器场。我了解如果使用服务器场,会话状态必须存储在其他位置,例如SQL Server数据库或状态服务器。
经过一些实验,我们倾向于使用状态服务器机制,但事实上它会有单点故障,这让我很紧张。在使用状态服务器时,有什么方法可以避免“单点故障”吗?
答案 0 :(得分:5)
您可以使用名为session state partitioning的内容,以避免single point of failure
。如果这仍然不适合您,那么您可以考虑尝试ASP.NET Velocity项目,即使它只处于CTP阶段,它看起来也很有希望。
如果您想要完全可扩展性和冗余,那么您应该使用SQL Server群集。
答案 1 :(得分:1)
sharedcache(http://www.sharedcache.com或http://sharedcache.codeplex.com)有会话实现,目前尚未发布,但人们正在使用它。
答案 2 :(得分:-2)
您可以将SQL Server复制设置为另一台计算机或使用failover cluster。
这可能会很昂贵,但会使您的数据库组件更加健壮。
从技术上讲,您的网络服务器设备室是一个单点故障,以及您的网络等。我不一定会对会话状态感到紧张。