如何使用apache mod_proxy_balancer基于会话标识符启用粘性负载平衡

时间:2010-07-06 03:39:35

标签: apache proxy httpd.conf mod-proxy load-balancing

我们在下面给出了向2个JBoss实例发送请求的代理配置(在httpd.conf中)基于mod_proxy_balancer

<Proxy balancer://mycluster>
Allow from all
BalancerMember http://192.168.1.2:9080
BalancerMember http://192.168.1.2:8080
</Proxy>

ProxyPass /app balancer://mycluster/app
ProxyPassReverse /app  http://192.168.1.2:9080/app
ProxyPassReverse /app  http://192.168.1.2:8080/app 

如何根据会话标识符启用粘性负载平衡。我应该将以下标志设置为代理声明的一部分吗?它似乎没有任何影响。我将如何调试以查看它是否正常工作。

SetEnv BALANCER_SESSION_STICKY JSESSIONID

1 个答案:

答案 0 :(得分:2)

PHP粘性会话文章是一个有趣的读物,它引导我寻找一个JBoss特定的解决方案。关键是将路由附加到jsessionid param / cookie中的会话值。 JBoss(实际上是tomcat)内置了对此的支持。

将jvmRoute =“”添加到每个server.xml中的配置中。然后将jboss-service.xml中的<attribute name="UseJK">false</attribute>更改为“true”。

整个设置在Using mod_proxy with JBoss中描述。