2012-07-25 133 views
0

我的问题是关于ASP.net会话管理。在当前的Web应用程序中,我们有“粘性会话”(用户总是重定向到开始与之通话的服务器)。以下是我的问题陈述。跨多个客户端服务器请求和多个服务器之间共享会话

从我们的客户之一,有大量的请求打我们的服务器。不知何故,请求从1个或最多2个IP发送。我们有5台服务器正在运行以满足这些要求。现在,这里的问题是,1-2服务器可能会越来越严重,而点击其他服务器可能处于闲置状态,因为粘性会话不会允许请求通过serverB上这是最初由serverA的回答进行处理

我们需要什么正好相反。任何服务器都应该能够处理传入的请求,以保持持续的对话。

我已经把我的问题放在非常简单的话语中。任何指针将不胜感激。

+1

您是否尝试将会话存储在数据库中? http://support.microsoft.com/kb/317604 – 2012-07-25 12:04:12

+0

感谢您的链接。我会通过它。 – 2012-07-25 12:06:46

+0

它会自己在服务器之间加载缓存吗?我的意思是这个功能内置在asp.net会话管理中? – 2012-07-25 12:10:33

回答

0

为什么不直接存储会话状态on a SQL server

+0

如何完成负载平衡。我必须编程或asp.net将为我做? – 2012-07-25 12:11:48

+1

您可以使用正常的负载均衡器,但只需禁用粘滞会话即可。这使您的服务器负载分布均匀,特别适合您的情况。由于您将会话状态PER REQUEST反序列化并序列化到SQL服务器,因此您需要确定这是否会成为您设计中难以承受的瓶颈,因此需要一些开销。 – 2012-07-25 12:15:54

+1

来自msdn要在Web场中使用StateServer模式,必须为您的Web配置的machineKey元素中指定的所有属于Web场的所有应用程序指定相同的加密密钥。 – 2012-07-25 12:17:22

相关问题