【发布时间】:2011-08-14 12:00:59
【问题描述】:
我目前正在研究我的 Spring 项目的负载平衡。我使用 Apache Web 服务器作为多个 Tomcat 实例的前端。我使用 mod_jk 进行负载平衡。当我运行它时,如果我关闭了一台服务器,我必须再次登录系统。以前我也用Tomcat的会话示例程序在更简单的示例中尝试过,并且会话复制工作正常。
这是我对 Apache 的 httpd.conf mod_jk 部分的配置:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/jk.log
JkLogLevel debug
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /test balancer <-- this is the spring program
JkMount /test/* balancer <-- this is the spring program
JkMount /jk_status status`
这是我的 workers.properties 设置:
workers.tomcat_home=/worker1
workers.java_home=$JAVA_HOME
ps=/
worker.list=balancer,status
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker2.port=8109
worker.worker2.host=localhost
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.balancer.type=lb
worker.balancer.balance_workers=worker1,worker2
worker.balancer.method=B
worker.balancer.sticky_session=1
worker.status.type=status
我在这里放了一个我的 tomcat 的 server.xml 的示例:http://pastebin.com/0j0ta2WA
我还在我的应用程序的web.xml 中添加了<distributable/> 标签。我在这里错过了什么导致会话复制无法正常工作吗?
- Tomcat 5.5
- Apache 2.2
- mod_jk
- 春季 2.5.6
- JDK 1.6.0_01
【问题讨论】:
-
JDK 1.6.0_01 哎哟...最新的是JDK 1.6.0_24
标签: apache spring tomcat session-replication