我正在尝试将Apache设置为具有会话亲和性的2个Tomcat实例的负载均衡器。
目标是让会话坚持到一个服务器,但要有下一个会话(当后端服务器更改它)时,转到下一个可用服务器(假设使用循环算法更容易实现)。在Tomcat中使用“jvmRoute”和在Apache中使用等效的“路由”时,执行路由的实际值是路由名称,该名称不会更改,并且所有请求始终路由到单个客户端的同一后端服务器。
到目前为止,我发现只使用JSESSIONID cookie时会出现鸡/蛋问题。我们考虑以下设置:
2个Tomcat服务器侦听端口8009和8010(AJP13) 1个具有以下配置的Apache服务器
<Proxy balancer://hello-cluster>
BalancerMember ajp://127.0.0.1:8009/hello
BalancerMember ajp://127.0.0.1:8010/hello
</Proxy>
ProxyPass /hello balancer://hello-cluster stickysession=JSESSIONID
以下是情景:
有没有办法说服Apache注意Tomcat返回的值?
答案 0 :(得分:2)
也许你尝试使用tomcat会话复制。我找到了这篇有趣的帖子:
。 您也可以尝试使用redis:
请告诉我你的经历。