Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.NET网站中使用状态服务器时如何避免单点故障_Asp.net_Asp.net Mvc_State Server_Server Farm - Fatal编程技术网

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

在ASP.NET网站中使用状态服务器时如何避免单点故障,asp.net,asp.net-mvc,state-server,server-farm,Asp.net,Asp.net Mvc,State Server,Server Farm,在我当前的项目中,我们必须创建一个网站(ASP.NET MVC),该网站的负载可能足以满足服务器场的需求。我知道,如果使用服务器场,会话状态必须存储在其他地方,如SQL server数据库或状态服务器 经过一些实验后,我们倾向于使用状态服务器机制,但它会出现单点故障这一事实让我感到紧张。是否有任何方法可以避免在使用state server时出现“单点故障”?您可以将SQL server复制设置到另一台计算机或使用。 这可能会很昂贵,但会使您的数据库组件更加健壮 从技术上讲,您的web服务器设备室

在我当前的项目中,我们必须创建一个网站(ASP.NET MVC),该网站的负载可能足以满足服务器场的需求。我知道,如果使用服务器场,会话状态必须存储在其他地方,如SQL server数据库或状态服务器

经过一些实验后,我们倾向于使用状态服务器机制,但它会出现单点故障这一事实让我感到紧张。是否有任何方法可以避免在使用state server时出现“单点故障”?

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

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

为了避免出现
单点故障,您可以使用一种叫做
的方法。如果这仍然不适合你,那么你可以考虑尝试这个项目,它看起来很有前途,即使它只是在CTP阶段。


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

sharedcache(或)有一个会话实现,目前尚未发布,但人们正在使用它。

我不明白!我相信ASP.NET状态服务器不使用SQL server。那么SQL server故障转移群集如何帮助我?但我确实注意到“网络也是单点故障”,这是一个很有道理的观点。哎呀,我完全误解了你的问题,我以为你说的是sql server,而不是state server。。。。我可能会删除此答案;)我重视第二点(参见单点故障的其他方面),因此可以对其进行编辑,但不要删除答案。那么,出于这种心态,为什么还要为冗余而烦恼呢?@UpTheCreek是对的。这样做的目的是尽可能减少您控制范围内的潜在单点故障。托管状态服务器的计算机脱机或中断的可能性比整个房间/网络中断的可能性更大。您还希望能够在不中断的情况下在计算机上执行升级/windows更新。我不知道会话状态分区如何避免单点故障。它所做的只是拥有多个状态服务器,并确保给定的类型id始终保持在同一个服务器上,但如果该服务器失败,会话将丢失。但是,这对于卸载单个状态服务器可能很有用。基于答案中提供的链接的另一个实现()解决了状态服务器故障的问题。至少,如果一个服务器出现故障,其余的服务器将启动。Velocity应该有一个故障切换机制。。