高流量ASP.NET网站的会话管理。

高流量ASP.NET网站的会话管理。,asp.net,.net,session,high-availability,high-traffic,Asp.net,.net,Session,High Availability,High Traffic,我们使用SQL server作为应用程序的会话状态。由于SQL server是单点故障,因此当它出现问题时,可能会影响我们的所有客户。为了缓解这个问题,我们计划创建一个SQL 2012高可用性实例,并将.Net会话管理移动到它自己的服务器上。当节点出现问题时,SQL 2012高可用性实例可以自动或手动进行故障切换。我们计划使用viprion在这些轻量级AspState实例中共享会话状态数据。在WebServer级别上,不使用ViPrimon SARDE.NET会话数据,而是可以考虑另一种应用级别

我们使用SQL server作为应用程序的会话状态。由于SQL server是单点故障,因此当它出现问题时,可能会影响我们的所有客户。为了缓解这个问题,我们计划创建一个SQL 2012高可用性实例,并将.Net会话管理移动到它自己的服务器上。当节点出现问题时,SQL 2012高可用性实例可以自动或手动进行故障切换。我们计划使用viprion在这些轻量级AspState实例中共享会话状态数据。在WebServer级别上,不使用ViPrimon SARDE.NET会话数据,而是可以考虑另一种应用级别的共享方法吗?对于使用.Net会话管理的高流量ASP.Net站点来说,这应该是一个很常见的问题

试试redis,它是可伸缩的,你可以使用分布式会话,它主要存储在内存中,但为了持久性,它根据一些逻辑将它们存储在磁盘上,何时存储-我们尝试在其他一个高使用率的应用程序中使用redis,但我们无法让它工作。另外,将.Net会话管理从SQL server更改为Redis风险太大。(我的上级)决定我们应该改进和使用.Net会话管理。在高流量站点中使用基于硬盘驱动器的数据库进行会话管理毫无意义。如果redis没有很好地为您集成,请使用位于Azure缓存上的Azure会话状态提供程序。如果你的网站在azure中,你将获得最大的好处。谢谢@Chris Marisic。如果他们愿意考虑的话,我会和我的高层管理人员商量一下。他们通常不喜欢任何非内部的东西。没有什么比高度容错的分布式内存缓存更清楚的理由让云这么做了。我相信与安装一台新的sql server相比,成本也会大大降低。