2

BackupManagerを使用したTomcat6のクラスタリング(セッションレプリケーション/フェイルオーバー)について質問があります。BackupManagerを選択した理由は、セッションを他の1台のサーバーにのみ複製するためです。

以下の例を実行して、質問を説明します。

  • BackupManagerを使用してTomcat6クラスターに6つのノードをセットアップしました。フロントエンドは、スティッキーセッションが有効になっているmod_jkを使用する1つのApacheサーバーです。
  • 各ノードには、それぞれ1つのセッションがあります。node1にはclient1からのセッションがありますnode2にはclient2からのセッションがあります...。
  • ここで、node1がダウンしたとしましょう。node2がバックアップであると仮定すると、node2には2つのセッションがあります(client2とclient1の場合)。
  • 次回client1がリクエストを行うとき、正確には何が起こりますか?Apacheはnode1がダウンしていることを「認識」しており、リクエストをnode2に直接送信しますか?

    =または=

    6つのインスタンスのそれぞれを試し、バックアップが誰であるかを見つけるのは難しいですか?

4

1 に答える 1

3

BackupManager の動作についてはよくわかりませんが、この適切なURLを読むと、レプリケーションがバックアップを識別するのに十分なほどインテリジェントであることがわかります。

インメモリ セッション レプリケーションは、クラスター内のすべての Tomcat インスタンス間でセッション データが複製されます。Tomcat は、クラスター内のすべてのインスタンス間での複製またはバックアップ サーバーのみへの複製という 2 つのソリューションを提供します。このソリューションは、保証されたセッション データの複製を提供します ...

SimpleTcpCluster は、Apache Tribes を使用して通信グループとの通信を維持します。グループ メンバーシップは Apache Tribes によって確立および維持され、サーバーのクラッシュと回復を処理します。Apache Tribes は、グループ メンバー間のメッセージ配信を保証するいくつかのレベルも提供します。これは、セッション データの変更を反映するためにセッション内メモリを更新することで実現され、レプリケーションはメンバー間で即座に行われます ...

BackupManager を使用してデータ量を削減できます (1 つのノード、バックアップ ノードにのみ送信)

が設定されている場合、ログからこれを確認できますnotifyListenersOnReplication="true"

一方、DeltaManager を使用して、クラスターをそれぞれ 2 台のサーバーからなる 3 つのドメインに分割することもできます。

これらがノード 1 <-> ノード 2、3 <-> 4 および 5 <-> 6 になるとします。

このような場合、ドメインワーカー属性を設定すると、セッション レプリケーションがドメイン内でのみ行われるようになります。

そして mod_jk は、node1 が失敗したときにどのサーバーを調べるかを明確に認識しています。

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html状態

現在、ドメイン ワーカー属性 (mod_jk > 1.2.8) を使用してクラスター パーティションを構築し、DeltaManager を使用してよりスケーラブルなクラスター ソリューションを実現できる可能性があります (これにはドメイン インターセプターを構成する必要があります)。

そして、このリンクのより良い例:

http://people.apache.org/~mturk/docs/article/ftwai.html

「ドメイン クラスタリング モデル」セクションを参照してください。

于 2010-05-28T11:40:45.163 に答える