Load Balancer

単一のスタンドアロン Search and Matching Server の容量制限に達した場合は、検索要求に対して効率的に応答できなくなるため、ロード バランシングを使用します。ロード バランシングにより、複数のコンピュータを使用して計算ワークロードを共有し、検索要求を一連の異なる Search and Matching Server に分散できます。Load Balancer を使用するクライアントは、同じインターフェースを持つ単純な Kofax Search and Matching Server であるかのように Load Balancer にアクセスします。Load Balancer は、それらのクライアントに対して完全に透過的です。Load Balancer は、従来の Microsoft Windows サービスで実行されます。

Load Balancer は、Kofax Search and Matching Server Administration で定義された各種の Search and Matching Server のクラスタを処理します。最初の手順では、どちらの Search and Matching Server が ロード バランシング クラスタを形成 するかを定義し、2 番目の手順でデータベースを設定します。

クラスタに追加されたスタンドアロン サーバーはクラスタ ノードになり、検索要求は Load Balancer を通じて転送されます。構成とメンテナンスの労力を最小限に抑えるため、クラスタは常にプライマリ ノードと 1 つ以上のセカンダリノードで構成されます。データベースは Load Balancer で定義および構成されます。選択した Load Balancer は、データベースの作成およびインポートをプライマリ ノードにプッシュします。プライマリの準備が整うと、プライマリは自動的にデータベースをセカンダリ ノードに同期します。このようにして、リレーショナル データベースがある場合は、プライマリ ノードのみがそのデータベースにアクセスし、セカンダリ ノードの Fuzzy インデックスの準備を行います。デフォルトでは、クラスタに追加される最初のサーバーがプライマリ ノードになります。クラスタにサーバーを追加すると、それらのサーバーはセカンダリ ノードになります。Search and Matching Server がセカンダリ ノードとしてクラスタに追加されると、サーバーで定義された既存のデータベースはすべて削除されます。セカンダリ ノード上のデータベースは、プライマリ ノードから自動的に同期されます。Administration ツール経由でセカンダリ ノードに接続する場合、データベースの構成に使用されるメニュー項目は使用できません。必要に応じて、たとえば Load Balancer にアクセスできなくなった場合のフォールバックとして、セカンダリ ノードを再びスタンドアロン サーバーに変換し、構成または通常のアクセスを行うことができます。スタンドアロン サーバーに変換されたクラスタ ノードは、クラスタから自動的に削除されます。

重要 Search and Matching Server は、スタンドアロン サーバーまたは 1 つの単一クラスタのメンバーのいずれかとして使用できます。

クラスタからプライマリ ノードを削除する場合は、プライマリ ノードになるクラスタ ノードのリストから別のサーバー (セカンダリ ノード) を選択する必要があります。何らかの理由でクラスタにプライマリ ノードが定義されていない場合、データベースを構成することはできず、データベースからの自動更新機能はスキップされます。別のクラスタのメンバーであるサーバーを追加すると、このサーバーは他のクラスタから自動的に削除されます。一種のフォール バックとして、任意のクラスタ ノードをスタンドアロン サーバーに変換することもできます。

ロード バランシング クラスタの最適なサイズは、2 〜 16 個のクラスタ ノード構成です。

スタンドアロン サーバーとサーバーのクラスタの構成、およびクラスタ ノードの同期を視覚化した画像。

クライアント側では、スタンドアロン サーバーまたは Load Balancer に接続することで、Load Balancer からのリモート Fuzzy データベースと同じ方法で、スタンドアロン Search and Matching Server にリモート Fuzzy データベースを構成します。詳細については、Project Builder Help (KSMS のヘルプ) を参照してください。

Load Balancer は、すべてのクライアントからすべての検索要求を収集し、検索要求をクラスタ内で使用可能な次の Search and Matching Server に順次送信することで、さまざまなクライアントからの検索要求を処理できるようにします。つまり、それぞれの検索要求は単一の Search and Matching Server によって実行され、複数のサーバーに分散されません。


スタンドアロン サーバーとサーバーのクラスタの構成、およびクラスタ ノードの同期を視覚化した画像。

検索要求の処理と並行して、Load Balancer は、プライマリ ノードからクラスタ内のすべてのクラスタ ノードへの変更を同期します。たとえば、新しく作成されたデータベースやデータベースの自動更新の場合です。Load Balancer は、検索要求の処理や一時的に利用できないクラスタ ノードの同期の実行に関して耐障害性を持ちます。ノードが再び使用可能になるとすぐに、検索のためにノードはクラスタに再度組み込まれます。必要に応じて、データベースが最新のバージョンになるようにノードが更新されます。

ロード バランシングを設定するときは、Load Balancer とすべてのクラスタ ノードがセキュリティの維持のために同じ設定を共有し、付与されたアクセス権が保証されるようにする必要があります。つまり、インストール中に構成されたKSMS Administratorsユーザー グループのメンバーであるユーザーとしてサービスを実行する必要があり、このユーザーにはデータ ストレージ ディレクトリへの読み取りおよび書き込み権限が必要です。

重要 メンテナンスとセキュリティ上の理由から、ドメイン グループのインストールでのみ Load Balancer を使用することが推奨されます。

デフォルトでは、Load Balancer および Search and Matching Server サービスは、インストール後に組み込みのユーザー アカウント (ネットワーク サービス ユーザー) に対して実行されます。

ヒント パスワードが変更されたユーザーによってサービスが実行されている場合は、サービス アカウントも更新する必要があります。