Ajp+apache+tomcat负载均衡
来源:程序员人生 发布时间:2014-09-11 13:11:31 阅读次数:2741次
一、apache+tomcat的安装
略,如有不懂,请查看上一篇!
二、apache+tomcat配置(重点)
方式一:
1、在httpd.conf中添加如下内容:
NameVirtualHost *:80
<VirtualHost*:80>
ServerAdmin frinder_liu@163.com
ServerName www.abc.org.cn
ProxyPass /balancer-manager !
ProxyPass /test balancer://cluster/stickysession=jsessionid nofailover=On
ProxyPassReverse /test balancer://cluster/
</VirtualHost>
ProxyRequestsOff
<proxybalancer://cluster>
BalancerMemberajp://127.0.0.1:8009/test loadfactor=1 route=tomcat1
BalancerMemberajp://127.0.0.1:8109/test loadfactor=1 route=tomcat2
</proxy>
<Location/balancer-manager>
SetHandlerbalancer-manager
OrderDeny,Allow
Denyfrom all
Allowfrom all
</Location>
2、tomcat中的配置
1)、tomcat1:
<Enginename="Catalina" defaultHost="localhost"jvmRoute="tomcat1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
tomcat2:
<Enginename="Catalina" defaultHost="localhost"jvmRoute="tomcat2">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注:当然,tomcat还需要其它配置,因上篇已经讨论过,就不需要再多说了!需要注意一点,上一篇中我们是配置了很长一段Cluster,这个不需要,
方式二会说!测试结果,如上,sessionId一致,但tomcat2却取不到appname,再看测试页:
相信大家也看到其中的不同了吧,为什么第一次初始化时的值,tomcat2中没有呢?这个问题我还没找到答案,希望知道的童鞋能告知哈,谢谢了!
2)tomcat1/tomcat2按照上篇中所讲,采用详细的Cluster配置,结果:
看tomcat1和tomcat2的控制台,确实都被访问了2次,这个过程中seesion是没有变化的!!!
再来:
可以看出,采用详细的Cluster配置的session是完全共享的!!!
为什么使用tomcat1 cluster简单配置会有那样的问题呢,希望知道的朋友帮忙解答下,谢谢了!
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠