30日間の無料評価版をお試しいただけます。

概要

Yellowfinは複数のサーバでクラスタ構成を組むことで、高可用性と負荷分散を実現することができます。負荷分散(外部からの多重リクエスト)は、ロードバランサー機器やロードバランシングソフトウェアで実現することもできます。こちらのガイドでは、クラスタリングを実行するためにYellowfinの設定に必要な変更点について紹介しますが、送信されたリクエストを多重化する外部環境については割愛しています。

クラスタリング構造は、パケットが直接アプリケーションサーバに接続しているかのように、ネットワークトラフィックを透過的にYellowfinのアプリケーションサーバへ配信する必要があります。セッションレプリケーションが無効になっている場合、クラスタリング構造は「sticky-session」機能を提供しなくてはいけません。これは、ユーザーセッションのトラフィックが、同じノードに送信されるようにするためです。

 

 

クラスタ環境のコンポーネント

クラスタ環境には、2つのコンポーネントがあります。クラスタが正しく動作するために必要なアプリケーションレベルの連携と、オプションのセッションレプリケーションです。

 

アプリケーションレベルの連携

Yellowfinのノードは、アプリケーションがクラスタ全体に影響を及ぼす変更を行う際に、他のクラスタノードと通信をします。これは通常、リモートノードのキャッシュの完全性を保つためですが、ユーザー同期やライセンス管理などの機能を促進するためでもあります。アプリケーションレベルの連携は、web.xmlファイル内の「ClusterManagementサーブレット」により構成されます。

こちらの設定について、より詳細な情報は、こちらを参照してください。

 

コンテナレベルのセッションレプリケーション

Yellowfinアプリケーションは、ユーザーセッション情報を複数のクラスタノードに同時に複製できるようにコーディングされています。ユーザーセッション情報は、各ユーザーセッションでサーバに保存されるメモリフットプリントです。セッションレプリケーションを有効化することで、接続しているクラスタノードに障害が発生していても、ユーザーのセッションを継続することができます。

セッションレプリケーションが設定されていない場合、クラスタノードの障害はユーザーのセッションを破棄するため、ユーザーは他のノードへ再ログインしなくてはいけません。セッションレプリケーションは、Javaアプリケーションサーバ、または外部インフラの機能です。Tomcatを使用した実現方法の例については、こちらのガイドで紹介します。

こちらの設定について、より詳細な情報は、こちらを参照してください。

 

 

Yellowfinデータベースのクラスタリング

Yellowfinのクラスタは、単一のYellowfinデータベースインスタンスを共有しなくてはいけません。データベースは、すべてのYellowfinノードで共有される単一のデータベースインスタンス、またはクラスタ化されたデータベースでも構いません。Yellowfinのデータベースは、クラスタ内のすべてのノードからのデータベースリクエストを制御できるようにスケールされていることが重要です。

データベースクラスタリングや、レプリケーションは、Yellowfinがクラスタ全体に対して単一のデータベースURL(接続情報)を持つかのように、Yellowfinに対して透過的でなくてはいけません。各ノードは、どのように構成、またはクラスタ化されているかに関わらず、同一の論理データベースへ接続していなくてはいけません。

 

ライセンス

Yellowfinのライセンスファイルは、Yellowfinのリポジトリデータベースに保存されているため、ライセンスファイルにはクラスタ内のすべてのホスト名が含まれていなくてはいけません。クラスタライセンスについては、Yellowfinへお問い合わせください。

 

 

ガイドトピック

Yellowfinクラスタのセットアップ時には、以下のトピックを参照してください。

 

 

 

  • No labels