我有一个内置的.Net应用程序,在IIS上运行,利用我们在Tomcat 5.5上运行的java servlet。我们需要扩展应用程序,我对与我们的情况有关的问题以及为使servlet在多个服务器上运行需要做些什么感到困惑。
现在我有4个服务器,每个服务器可以单独处理结果,看起来我应该做的就是将三个额外机器的ajp13工作进程添加到托管负载均衡器工作者的机器上。但我无法想象应该那么容易。
将Tomcat负载分配给额外的三台计算机需要做什么?
感谢。
更新:当前配置使用的是workers2.properties配置文件。从在线的所有文档中,我无法确定workers.properties和workers2.properties之间的区别。我发现的大多数示例都是配置workers.properties,并围绕添加worker并在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 :(得分:0)
我认为您使用isapi_redirect.dll将IIS与Tomcat连接,并且您正在执行与[这些]或these 1类似的步骤。
然后您将拥有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工作程序。我担心我无法帮助你。