繁体   English   中英

要将Apache用作具有粘性会话的负载平衡器-需要基于粘性会话的负载平衡

[英]To use apache as load balancer with sticky session - Need sticky session based load balancing

我正在使用apache作为具有粘性会话处理的LB(使用2个tomcat作为平衡器成员)。

下面是配置。 由我在apache级别完成-

<Proxy balancer://mycluster>
    (...)
    ProxySet stickysession=JSESSIONID
    BalancerMember http://{ip/hostname of tomcat1 backed:port} route=tomcat1
    BalancerMember http://{ip/hostname of tomcat2 backed:port} route=tomcat2
</Proxy>

ProxyPass        /     “balancer://mycluster”
PorxyPassReverse /     “balancer://mycluster”

在tomcat级别定义JVM路由-

(...)
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">         ##where the jvmroute should be the route value set at apache config.
(...)

同样为tomcat 2定义了

(...)
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">         ##where the jvmroute should be the route value set at apache config.
    (...)

一切正常,但是此设置的主要缺点是,如果tomcat1崩溃,则粘在tomcat1上的会话也会死亡,并且不会路由到tomcat2。

是否有任何方法也可以将粘性会话复制到tomcat2,或者简单地,如果tomcat1死了,则将会话转移到tomcat2,反之亦然?

“粘性会话”的使用仅是一种机制,以确保在可能使用多个节点时,针对同一会话的所有请求都到达同一节点。 如果要会话故障转移,则需要Clustering

关于如何与Tomcat进行群集的指南很多。 Tomcat的“演示文稿”页面上也有一些演示文稿, 介绍了群集如何工作以及如何配置群集的背景知识。

请注意,您可能必须对应用程序进行一些更改才能使群集正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM