2009-07-22 78 views
0

我有一个现有的Web应用程序内置.Net,在IIS上运行,它利用我们在Tomcat 5.5上运行的Java Servlet。我们需要扩展应用程序,并且对于与我们的情况有关的事情以及我们需要做什么来让servlet运行在多个服务器上感到困惑。将IIS/Tomcat Web应用程序转换为多服务器环境

现在我有4台服务器可以单独处理结果,它几乎看起来像我应该做的就是将三台额外机器上的ajp13工作进程添加到托管负载平衡器worker的机器上。但我无法想象它应该那么容易。

我需要做些什么来将Tomcat负载分配给额外的三台机器?

谢谢。

更新:当前配置正在使用workers2.properties配置文件。从所有在线文档中,我都无法确定workers.properties和workers2.properties之间的区别。我发现的大多数示例都是配置workers.properties,并围绕添加工作人员并将其注册到worker.list元素中。 workers2.properties似乎没有一个worker.list元素,并且语法在workers.properties和workers2.properties之间足够不同,我怀疑是否可以添加该元素。如果我只是将我的多个AJP工作人员添加到workers2.properties文件,我是否需要担心显然缺少worker.list元素?

[ajp13:localhost:8009] 
channel=channel.socket:localhost:8009 
group=lb 

[ajp13:host2.mydomain.local:8009] 
channel=channel.socket:host2.mydomain.local:8009 
group=lb 

[ajp13:host3.mydomain.local:8009] 
channel=channel.socket:host3.mydomain.local:8009 
group=lb 

一对夫妇的便笺......一个我注意到,一段时间Tomcat的似乎并不 reload我的变化,我不知道为什么。另外,我不知道为什么这个配置有一个workers2.properties而不是一个workers.properties。我一直假设它是基于版本的,但我没有看到任何支持该假设的东西。

回答

0

我想你正在使用isapi_redirect.dll来连接IIS和Tomcat,并且你正在执行类似于[这些]或these1的步骤。

然后您将拥有一个workers.properties文件。您可以编辑以添加多个工作人员:

worker.list = tomcat-worker1, tomcat-worker2, tomcat-worker3 
worker.tomcat-worker1.type = ajp13 
worker.tomcat-worker1.host = host1 
worker.tomcat-worker1.port = 8009 
worker.tomcat-worker2.type = ajp13 
worker.tomcat-worker2.host = host2 
worker.tomcat-worker2.port = 8009 
worker.tomcat-worker3.type = ajp13 
worker.tomcat-worker3.host = host3 
worker.tomcat-worker3.port = 8009 

您还需要编辑每个tomcat的server.xml以启用AJP连接器。

如果你不需要粘性会话,这就是所需要的。如果您的servlet使用会话,那么您需要确保属于同一会话的所有请求都重定向到同一个Tomcat工作者。恐怕我无法帮助你。

相关问题