我在我的机器中创建了负载平衡方案,并且工作正常。但是,我陷入了一个简单的问题,并请求帮助。Tomcat负载平衡
我有两个tomcat worker - worker1和worker2。 我也有一个称为平衡器的负载均衡器。 workers.properties文件创建如下 -
- workers.tomcat_home = “MyTomcatDirectory”
- workers.java_home = “MyJDKDirectory”
- worker.list = tomcat1,tomcat2
- worker.list =平衡器
- worker.tomcat1.type = AJP13
- worker.tomcat1.host =本地主机
- worker.tomcat1.port = 8009
- worker.tomcat1.lbfactor = 1
- worker.tomcat2.type = AJP13
- worker.tomcat2.host =本地主机
- worker.tomcat2.port = 8019
- worker.tomcat2.lbfactor = 1
- worker.balancer.type =磅
- worker.balancer.balance_workers = tomcat1,tomcat2
- worker.balancer.method = B`
现在,我有一个webapp说webapp1这是最终用户广泛使用。因此,我希望所有的用户请求webapp1应由worker1处理。为此,我已经添加了以下行httpd.conf文件在我的Apache的conf目录 -
- JkMount /平衡器
- JkMount/*平衡器
- JkMount/webapp1 worker1
- JkMount/webapp1/* worker1
这工作得很好。这里唯一的问题是,如果tomcat1(worker1)关闭,平衡器不会将webapp1的请求指向tomcat2(worker2)。我该如何解决这个问题?
应该将负载均衡类型设置为循环法还是其他? – constantlearner 2013-02-20 08:43:37
我已经定义了称为lb型平衡器的工人。平衡器应该自己处理roundrobin事情。而且它也是如此。唯一的问题是我使用JkMount将指向webapp1的URL指向worker1。但是,当worker1关闭时,请求不会重定向到worker2,因此EndUser会收到一个错误消息,指出“服务不可用 - 由于维护停机或容量问题,服务器暂时无法处理您的请求,请稍后再试。”请帮忙 – user1716576 2013-02-20 09:51:33
在serverfault.com上问你会更好。 – EJP 2013-02-20 22:23:16