4

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

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

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

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

我想我的主要问题是:如果我们使用状态服务器模式。我们可以通过在两台服务器上部署状态服务器来确保冗余吗?避免出现单点故障。

4

5 回答 5

1

如果您想要标准选项之一,我会在故障转移群集中使用 SQL Server。顺便说一句,您是否考虑过 memcacheddb?

于 2009-05-20T07:32:28.440 回答
0

使用横向扩展状态服务器(更快更好)或 SQL 状态(更慢更简单)。但请注意,如果您将任何不可序列化的对象存储到 Session 状态中,因为迁移后会出现异常。

于 2009-05-20T07:28:08.730 回答
0

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

于 2009-05-20T07:29:51.457 回答
0

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

于 2009-05-21T21:31:46.507 回答
0

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

为我工作。唯一的缺点是,如果您有一个大型数据集,则在对等点之间进行复制需要很长时间。

于 2011-06-20T22:56:42.853 回答