使用Apache和mod_proxy_balancer进行轻微的粘性负载平衡

时间:2016-05-12 11:12:20

标签: apache load-balancing mod-proxy-balancer

我们有一个设置,我们希望会话在大多数时间都是粘性的,但我们希望能够重新平衡流量。例如,假设只有一个后端服务器启动。 100%的用户被路由到该服务器。当另一台服务器出现时,我们希望将负载重新平衡50%-50%。我们正在使用Apache 2.4和mod_proxy_balancer。

使用JSESSIONID cookie很容易设置粘性会话,但它们太粘 - 一旦为会话分配了路由,它就会保留该路由,除非该路由变为无效。在没有粘性的情况下配置循环或其他平衡方案也很容易,并动态控制不同后端服务器的负载,但是如果我们更改负载因子,除了新会话和用户之外,对配置为粘性的会话没有影响通常是全天登录。

是否可以使用mod_proxy_balancer配置“略微粘滞”的会话,其中如果没有任何更改,会话被分配相同的路由,但是由于修改的加载因子或添加的服务器或使用命令,现有会话可以重新路由?

NGINX似乎支持ip-hash和hash balancing方法。是否有Apache的解决方案?

1 个答案:

答案 0 :(得分:0)

您必须使用与BalancerMember中相同的路由ID配置tomcat实例。

在Tomcat的server.xml中添加jvmRoute参数。必须在引擎名称标记中添加。 Tomcat实例配置了8080端口