ライトウェイト・セッション・レプリケーション
Sun Java System Web Server 7.0は、クラスター型の構成をベースにした、セッションのレプリケーションとフェイルオーバーをサポートします。Webアプリケーションを安定して、高い可用性を保って運用するのに効果的な機能です。特定のハードウェアやソフトウェアを必要としないので、比較的安価にユーザから見た可用性を高めるのに、最適な方法といえます。
ライトウェイト・セッション・レプリケーションの運用
クラスター構成になっている環境で、アドミ・コンソールやCLIでセッション・レプリケーションの設定をすることができます。セッション・レプリケーションの構成情報は、server.xmlで規定します。

画像をクリックすると通常時とフェイルオーバー時が切り替わります
【フェイルオーバーの順序】
- インスタンスAが落ちた場合、ロードバランサーはインスタンスAが処理することになっていたWebリクエストをクラスター内の他のインスタンスに振り分けます。また、事前に設定してあるバックアップの構成情報に基づき、次のようにバックアップ体制に再構築します。
- インスタンスDは、インスタンスAが落ちたことを見つけると、A以外のインスタンスから新しいバックアップ・インスタンスを探し出します。
- この図の場合は、インスタンスBが選択され、インスタンスDはインスタンスBに大して、バックアップ・コネクションのを設定しなおします。これでインスタンスBは、リードオンリーのAのバックアップとアクティブなDのバックアップを持つことになります。
- バックアップリングは、BがCのバックアップ、CがDのバックアップDがBのバックアップになることにより、完成します。
- 落ちたAが復旧し稼動し直すと、Aは再ジョイン・メッセージを事前に設定されていたバックアップ・インスタンスBに送って、バックアップリングを再ジョインし、バックアップ・コネクションをBに貼りなおします。
- pingをAから成功裏に受け取るか、Aからのメッセージを受け取ることにより、DはAがオンラインに復旧したことを感知します。
- するとDはAに対し、バックアップ・コネクションを貼りなおし、Bに対するバックアップ・コネクションを切断します。
※Sun Java System Web Server 7.0がサポートしていない事は、以下の通りです。
- 2つまたはそれ以上の故障に対して、同時に回復すること。
- 生き返ったインスタンスが完全に回復する時間より、2つの故障の発生する間隔が短い場合。
- バックアップインスタンスを2つ以上持つこと。主セッションとバックアップセッションの2つしかセッションコピーは存在しない。
- セッションを残存させること。セッション情報がメモリーに保存されるのは、フェイルオーバー用途のみ。
- セッション・レプリケーションはJava Webアプリケーションのみサポート。CGIやPHPではデータはレプリケーションされません。