我的任务是通过在Apache服务器实例之间负载平衡web流量。
我已经配置了load-balancing,,但是它没有为相同的请求保留相同的会话,而是重定向到另一个Tomcat服务器实例。
发布于 2014-07-30 09:27:04
在workers.properties中,将sticky_session选项设置为1:
worker.list=balancer,lbstats
#node1
worker.node1.type=ajp13
worker.node1.host=127.0.0.1
worker.node1.port=8009
worker.node1.lbfactor=10
#node2
...
#lb config
worker.balancer.type=lb
worker.balancer.sticky_session=1
worker.balancer.balance_workers=node1,node2
#lb status information (optional)
worker.lbstats.type=status更新
一个原因可能是会话在请求期间丢失。确保在jvmRoute中的engine元素中设置了server.xml属性:
<Engine jvmRoute="node1" defaultHost="localhost" name="Catalina">该名称必须与workers.properites中的节点名称相匹配(参见上文)。此名称将附加到您的会话ids。确保它在请求期间不会更改。
此外,如上面所示,定义一个状态工作者,并将其映射到httpd.conf文件中的一个url:
JkMount /modjkstatus lbstats然后访问http://yourdomain.xyz/modjkstatus以查看进一步的集群和lb信息。
https://stackoverflow.com/questions/25032898
复制相似问题