[英]P2P Hazelcast Session Replication for Tomcat6 Web Clustering - Session Synchronization Fails
我相信我在负载平衡方面或tomcat中都缺少一些配置,如果有人可以提供帮助并提供解决方案,那将是很好的。
我想做什么?
我确实提到了此问题 ,该问题指的是设置hazelcast.sessionId而不是JSESSIONID,但未提供有关操作的任何细节。
版本-
Apache Haus - 2.2.32 (for load balancing)
Hazelcast - 3.8.6
Java 8
Tomcat - 6.0.48
Session objects that need to be clustered are Serializable.
stickysession=JSESSIONID
负载均衡器配置
<Proxy balancer://mycluster>
BalancerMember http://IPAddress1:8080/app/ route=tom
BalancerMember http://IPAddress2:8080/app/ route=cat
ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /app/ balancer://mycluster/
ProxyPassReverse /app/ balancer://mycluster/
汤姆实例-server.xml
<Listener className="com.hazelcast.session.P2PLifecycleListener"/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tom">
汤姆实例-context.xml
<Manager className="com.hazelcast.session.HazelcastSessionManager" sticky=true/>
猫实例-server.xml
<Listener className="com.hazelcast.session.P2PLifecycleListener"/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="cat">
猫实例-context.xml
<Manager className="com.hazelcast.session.HazelcastSessionManager" sticky=true/>
更新:
我相信以下是我遇到会话同步失败的相同问题
尽管我没有使用Apache HTTP服务器作为负载均衡器的丰富经验,但查看此页面 ,我认为您需要按以下方式更新负载均衡器配置:
<Proxy balancer://mycluster>
BalancerMember http://IPAddress1:8080/app/ route=tom
BalancerMember http://IPAddress2:8080/app/ route=cat
ProxySet lbmethod=byrequests stickysession=hazelcast.sessionId
</Proxy>
ProxyPass /app/ balancer://mycluster/
ProxyPassReverse /app/ balancer://mycluster/
我们有一个可以监控hazelcast会话的客户端吗?
您可以使用Hazelcast Management Center监视群集并浏览存储在Hazelcast IMap中的会话条目。 所有会话均存储在以其ID为键的Hazelcast IMap中。 请注意,您需要在集群成员上启用管理中心,然后才能在管理中心上查看任何数据。
您还可以查看基于容器的会话复制的Docker代码示例,以查看会话复制的有效配置。 尽管没有人将Apache用作负载平衡器,但有一个人使用Nginx可能会对您有所帮助。
我得到它与以下配置一起使用。 认为它需要jsessionid和hazelcast.sessionid,因此会话复制现在工作得很好。
<Proxy balancer://mycluster>
BalancerMember http://IPAddress1:8080/app/ route=tom
BalancerMember http://IPAddress2:8080/app/ route=cat
ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid|hazelcast.sessionId
</Proxy>
ProxyPass /app/ balancer://mycluster/
ProxyPassReverse /app/ balancer://mycluster/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.