apache +tomcat 集群问题

浪漫的菜鸟 发布于 2013/10/29 15:56
阅读 388
收藏 0

最近研究集群的架构,在本机做了个集群的例子。 将tomcat1和tomcat2 以及apache启动后, 我用IE访问

http://localhost/webservice/xx.jsp 正常, 发现访问的是tomcat1。 再次刷新或者重新访问,发现始终是tomcat1在处理。 同时用firefox访问上面的地址,发现访问的是tomcat2,刷新或再次访问也是tomcat2.

然后关掉tomcat1 ,再在ie 上点击刷新,发现报错了。

上面的现象表名:一个客户端一旦访问集群中的一台APP服务器,那么就永远绑定到这台app服务器了,一旦这台app服务器崩溃,此客户端的请求就不能被处理了。

这肯定不是负载均衡,谁能给我解释下为什么会这样啊? 

 

 

httpd.conf 关键配置如下:

LoadModule jk_module modules/mod_jk.so

JKWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

<VirtualHost *>

DocumentRoot f:/www
<Directory "f:/www/webservice">

    AllowOverride None

    Order allow,deny

          Allow from all

</Directory>

<Directory "f:/www/webservice/WEB-INF">

         Order deny,allow

         Deny from all

</Directory>


ServerAdmin localhost

DocumentRoot f:/www/

ServerName localhost

DirectoryIndex index.html index.htm index.jsp index.action

ErrorLog logs/shsc-error_log.txt

CustomLog logs/shsc-access_log.txt common

JkMount /*WEB-INF controller

JkMount /*j_spring_security_check controller

JkMount /*.action controller

JkMount /servlet/* controller

JkMount /*.jsp controller

JkMount /*.do controller

JkMount /*.action controller

JkMount /*fckeditor/editor/filemanager/connectors/*.* controller

JkMount /fckeditor/editor/filemanager/connectors/* controller

</VirtualHost>

workers.properties 配置

#集群tomcat配置 start
worker.list = controller  

#tomcat1
worker.tomcat1.port=8009        

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1

#tomcat2

worker.tomcat2.port=9009      

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1 

#========controller========

worker.controller.type=lb

worker.controller.balance_workers=tomcat1,tomcat2

worker.lbcontroller.sticky_session=0

worker.controller.sticky_session_force=true

worker.connection_pool_size=3000

worker.connection_pool_minsize=50

worker.connection_pool_timeout=50000
#集群tomcat配置 end

 

加载中
0
T_kress
T_kress
我也想知道!
0
javakf
javakf

将你的第31行配置:

worker.controller.sticky_session_force=true

改为

worker.controller.sticky_session_force=false

再试试。

具体差别请查阅手册哈。

0
Jack_Q
Jack_Q

看看tomcat的server.xml里是否<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> 配置成同名了


返回顶部
顶部