2017-05-22 4 views
0

私は、スティッキーセッション処理(バランサメンバーとして2つのtomcatsを使用)でapacheをLBとして使用しています。スティッキーセッションでロードバランサとしてApacheを使用するには - スティッキーセッションベースのロードバランシングが必要です

以下は設定です。 apacheのレベルで私によって行わ - TomcatのレベルでJVMルートの定義

<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” 

-

(...) 
<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にルーティングされないことです。

stickyセッションをtomcat2に複製する方法もありますか、tomcat1が終了してからセッションがtomcat2に転送された場合&?

答えて

0

「スティッキセッション」を使用するのは、複数のノードを使用する可能性がある場合に、同じセッションのすべての要求が同じノードに移動するようにするためのメカニズムです。セッションのフェールオーバーが必要な場合は、クラスタリングが必要です。

Tomcatでクラスタリングを行う方法については、多くのガイドがあります。 Tomcat's Presentations Pageには、クラスタリングの仕組みと構成方法の背景についてのいくつかのプレゼンテーションもあります。

クラスタリングが正しく機能するためには、アプリケーションにいくつかの変更を加えなければならない場合があることに注意してください。

関連する問題