我正在使用带有C#的asp.net 4.0,我的应用程序托管在Web服务器场上,它包含2个带有负载均衡器的服务器现在我想在每个服务器上创建Web服务器来为应用程序分配多个进程(以增强应用程序性能)。是否有可能在webfarm中创建Web园。如果是,那么我需要做什么更改,alll asp.net控制和状态mgmtlike会话应用程序,缓存woking很好或我需要做一些设置为那请建议。
谢谢
答案 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会话,则会话将保留在每台计算机上的内存中。
现在,如果负载平衡注意将来自同一用户的所有呼叫发送到同一台计算机,那么它将起作用。
如果没有负载平衡案例将同一用户的所有呼叫发送到同一台计算机,那么您了解同一个用户可以有两个不同的会话数据,每台计算机一个,并且因为会话保持在同一个cookie上这个名字你可能会对会话感到困惑。