Access Manager は、Web コンテナから独立したセッションフェイルオーバーの実装を提供しています。その際、Sun Java System Message Queue (Message Queue) を通信ブローカとして使用し、Sleepycat Software, Inc. の Berkeley DB をセッションストアデータベースとして使用します。Access Manager セッションフェイルオーバーは、単一のハードウェアまたはソフトウェアの障害発生時に、ユーザーの認証セッション状態を維持するため、セッション情報を失ったり、ユーザーに再ログインを要求したりせずに、ユーザーのセッションをセカンダリ Access Manager インスタンスにフェイルオーバーできます。
Access Manager 7 2005Q4 セッションフェイルオーバーには、次のコンポーネントが含まれます。
Access Manager 7 2005Q4 の複数のインスタンス。各インスタンスは 2 つ以上のホストサーバー上で、サポートされる Web コンテナで実行されます。
Message Queue ブローカクラスタ。Access Manager インスタンスとセッションストアデータベースとの間のセッションメッセージを管理します。
セッションストアデータベースとして Sleepycat Software, Inc. (http://www.sleepycat.com/) によって提供されている Berkeley DB。Berkeley DB クライアントデーモンは amsessiondb です。
Access Manager のセッションフェイルオーバーは、次の Message Queue のパブリッシュ/サブスクライブ (トピック送信先) 配信モデルに従います。
ユーザーがセッションの開始、更新、または終了を行うと、Access Manager はセッションの作成、更新、または削除に関するメッセージを Message Queue ブローカクラスタにパブリッシュします。
Berkeley DB クライアント (amsessiondb) は Message Queue ブローカクラスタにサブスクライブし、セッションメッセージを読み取って、データベースにセッション操作を格納します。
Access Manager インスタンスが、単一のハードウェアまたはソフトウェアの問題によって失敗した場合、そのインスタンスに関連付けられているユーザーのセッションが、次のように、セカンダリ Access Manager インスタンスにフェイルオーバーします。
セカンダリ Access Manager インスタンスは、Message Queue ブローカクラスタに、ユーザーのセッション情報に対するクエリ要求をパブリッシュします。
Message Queue ブローカクラスタの同じセッション要求トピックにサブスクライブしている Berkeley DB クライアント (amsessiondb) は、クエリー要求を受信し、セッションデータベースから対応するエントリを取得して、ユーザーのセッション情報をセッション応答トピックとともに Message Queue ブローカクラスタにパブリッシュします。
セッション応答トピックにサブスクライブしているセカンダリ Access Manager インスタンスは、ユーザーのセッションを伴う応答を受信し、セッション情報を失ったり、ユーザーが再度ログオンしたりすることなく続行できます。
Message Queue ブローカが失敗すると、Access Manager は非セッションフェイルオーバーモードで動作します。あとで Message Queue ブローカが再起動すると、Access Manager はセッションフェイルオーバーモードに戻ります。
Message Queue コンポーネントおよびパブリッシュ/ サブスクライブ配信モデルにつ いては、『 Sun Java System Message Queue 技術の概要』を参照してください。
次の図に、2 台のホストサーバーから構成され、それぞれ Access Manager インスタ ンス (Web コンテナ上に配備)、Message Queue ブローカークラスタ、および Berkeley DB クライアント (amsessiondb) を実行している基本的なシナリオを示します。ロードバランサはクライアント要求を Access Manager インスタンスに分配しています。両方の Access Manager インスタンスは同じ Directory Server にアクセスします。これは図に示されていません。
図に示すような、それぞれ同じ Directory Server にアクセスするサイトを追加できます。ただし、セッションフェイルオーバーは、サイト内の Access Manager に対してのみ実行され、現在のリリースでは、サイト間のセッションフェイルオーバーはサポートされていません。
詳細については、「Access Manager セッションフェイルオーバーの実装」を参照してください。