Java tomcat中的会话复制和集群?
我已经配置了Java tomcat中的会话复制和集群?,java,tomcat,cluster-computing,load-balancing,session-replication,Java,Tomcat,Cluster Computing,Load Balancing,Session Replication,我已经配置了HttpServer2.2,以实现java应用程序的负载平衡和集群 但是负载平衡工作正常,集群(会话复制)不起作用 HttpServer中的我的worker.properties将 workers.java_home=C:/Program Files/Java/jdk1.6.0_25 #worker.list=worker1,worker2 worker.list=balancer worker.worker1.port=8009 worker.worker1.host=loca
HttpServer2.2
,以实现java应用程序的负载平衡
和集群
但是负载平衡
工作正常,集群(会话复制)
不起作用
HttpServer
中的我的worker.properties
将
workers.java_home=C:/Program Files/Java/jdk1.6.0_25
#worker.list=worker1,worker2
worker.list=balancer
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker2.port=8019
worker.worker2.host=192.168.100.84
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.balancer.type=lb
worker.balancer.balance_workers=worker1,worker2
worker.balancer.method=B
# Specifies whether requests with SESSION ID's
# should be routed back to the same #Tomcat worker.
worker.balancer.sticky_session =True
而httpd.conf
将
<IfModule jk_module>
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /CustomerChat_V1.02.00 balancer
JkMount /CustomerChat_V1.02.00/* balance
</IfModule>
在我的server.xml
中,对于tomcattwo
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="192.168.0.1"
port="4100"
autoBind="100"
selectorTimeout="5000"
maxThreads="6" />
但还是有问题
当我关闭tomcatone
时,新请求将自动转到tomcattwo
。但是,tomcattwo
不知道应用程序的当前用户状态和存储的会话对象
希望我们的stack成员能在这方面帮助我
非常感谢您的回答。一些评论/建议
- 您提到的配置纯粹是负载平衡。我假设您在HttpServer后面使用Tomcat(在Tomcat中使用AJP连接器)李>
- HttpServer将只将请求转发到Tomcat服务器。它本身不维护用户的会话李>
- 会话是在Tomcat中维护的,因此您应该为会话集群配置Tomcat李>
- 有关Tomcat集群,请参阅Tomcat版本特定文档。这里是链接李>
- 一旦Tomcat服务器被适当地集群,会话将被复制,并且每个服务器将识别其他服务器用户的会话李>
worker.balancer.sticky_session =True
这将使HttpServer将所有请求发送到第一次创建会话的tomcat(会话被固定在该服务器上,因此命名为sticky session)。这违背了会话集群的目的。请将此设置为false 谢谢你的回复。。。我尝试了你的答案并更新了我的问题。请检查并让我知道是否有修改。请检查两台服务器的启动日志,并查看是否有任何群集设置相关日志。我觉得您所做的任何配置都是正确的。所有其他资源都告诉我保留
worker.balancer.sticky\u session=True
,还有其他建议吗?
worker.balancer.sticky_session =True