如何在webfarm中创建webgarden

时间:2012-02-13 14:02:34

标签: asp.net c#-4.0

我正在使用带有C#的asp.net 4.0,我的应用程序托管在Web服务器场上,它包含2个带有负载均衡器的服务器现在我想在每个服务器上创建Web服务器来为应用程序分配多个进程(以增强应用程序性能)。是否有可能在webfarm中创建Web园。如果是,那么我需要做什么更改,alll asp.net控制和状态mgmtlike会话应用程序,缓存woking很好或我需要做一些设置为那请建议。

谢谢

2 个答案:

答案 0 :(得分:0)

如果您使用的是IIS 6,则此article将帮助您配置Web Garden。

  

在IIS 6.0工作进程隔离模式下,应用程序池增强   通过隔离应用程序和网站或应用程序的可靠性   工作进程为这些应用程序提供服为了更大   可靠性,您可以配置要支持的应用程序池   多个工人流程。使用多个应用程序池的应用程序池   工作进程称为Web花园。工作者在Web中处理   garden共享针对该特定应用程序的请求   池。如果工作进程失败,则可以继续另一个工作进程   处理请求。

如果您使用的是IIS 7,则此article将帮助您配置Web Garden。

答案 1 :(得分:0)

从您拥有Web场的那一刻起,Web园区必须解决任何问题。

Web场是指您添加2台或更多计算机以实际运行相同内容的时间。

Web garder 是指您在同一台计算机上为同一应用程序添加2个或更多工作流程。

您需要注意的是数据的同步。两台计算机上的数据和每个工作流程的数据必须相同。从你拥有所有准备好的Web场的那一刻起,我想你在两台计算机都使用的数据库上使用会话,因此将在web园中使用相同的会话。

此外,我认为如果您使用数据库,则这两台计算机共享,并且在您写入数据时需要注意同步。

同步化使用锁在一个线程内完成,在使用互斥锁的Web园中,在Web场+ Web园内使用计算机或数据库的某些部分之间的公共互斥文件名。

如果您没有写任何数据,那么除了公共会话数据库之外,您不需要其他同步。所有额外的人认为你必须在这里注意是常见的数据。

InProc上的会话

如果您使用Inproc会话,则会话将保留在每台计算机上的内存中。

现在,如果负载平衡注意将来自同一用户的所有呼叫发送到同一台计算机,那么它将起作用。

如果没有负载平衡案例将同一用户的所有呼叫发送到同一台计算机,那么您了解同一个用户可以有两个不同的会话数据,每台计算机一个,并且因为会话保持在同一个cookie上这个名字你可能会对会话感到困惑。