Apache负载平衡无法正常工作| mod_jk的

时间:2011-12-13 10:26:47

标签: apache apache2 load-balancing

我有两个jboss应用服务器(在不同的机器和IP地址上),我使用mod_jk配置为此应用服务器设置了apache作为Web服务器。 Apache Web服务器也设置为在这两个应用程序服务器之间进行负载平衡。

以下是我的workers.properties文件的内容:

worker.list=portalworker1,portalworker2,portalbalancer

worker.portalbalancer.type=lb
worker.portalbalancer.balance_workers=portalworker1,portalworker2

worker.portalbalancer.sticky_session=True

# Application server 1 Portal application
worker.portalworker1.type=ajp13
worker.portalworker1.host=10.178.197.91
worker.portalworker1.port=8009
worker.portalworker1.lbfactor=1

# Application server 2 Portal application
worker.portalworker2.type=ajp13
worker.portalworker2.host=10.178.197.90
worker.portalworker2.port=8009
worker.portalworker2.lbfactor=1
问题是当前请求被发送到任何应用服务器(例如,应用服务器1的一个请求和应用服务器2的第二个请求),这将是obv。不行。

我还在调试模式下检查了mod_jk日志:

第一次请求

[Tue Dec 13 16:46:12.222 2011] [16097:47166030803776] [debug] get_most_suitable_worker::jk_lb_worker.c (946): searching worker for partial sessionid UH76jWj-q2yX39prlS-nBA**
[Tue Dec 13 16:46:12.222 2011] [16097:47166030803776] [debug] get_most_suitable_worker::jk_lb_worker.c (1001): found best worker portalworker2 (portalworker2) using method 'Request'

第二次请求:

[Tue Dec 13 16:46:12.434 2011] [16100:47166030803776] [debug] get_most_suitable_worker::jk_lb_worker.c (946): searching worker for partial sessionid UH76jWj-q2yX39prlS-nBA**
[Tue Dec 13 16:46:12.434 2011] [16100:47166030803776] [debug] get_most_suitable_worker::jk_lb_worker.c (1001): found best worker portalworker1 (portalworker1) using method 'Request'

这也确保了2个requset的sessionid是相同的,找到了不同的工人。

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

问题是我没有在我的server.xml中为我的不同应用程序服务器添加jvmRoute来区分这些服务器,并且在jboss-service.xml文件中useJK未设置为true。