リクエストのロード・バランシングとルーティング

このトピックでは、Endeca Serverクラスタでホストされる異なるデータ・ドメインを対象とする外部リクエストのロード・バランシングとルーティングについて説明します。

リクエストのロード・バランシング

デプロイ計画に応じて、外部クライアントに対して、Endeca Serverクラスタとの通信エントリ・ポイントをクラスタのEndeca Serverノードか外部ロード・バランサにできます。

Endeca Serverクラスタでは、リクエストのロード・バランシングにおいて次のような2つのレベルに依存します。
  1. Endeca Serverクラスタのノードにおけるリクエストのロード・バランシングデプロイで使用するように選択した場合、この処理は外部ロード・バランサで実行する必要があります(これはEndeca Serverパッケージに含まれていません)。

    外部ロード・バランサが使用されている場合、すべてのリクエストを受信して、Endeca Serverクラスタにあるノードのすべてにおいて分散させます。リクエストがEndeca Serverノードで受信されると、リクエストされたデータ・ドメインにEndeca Serverによってルーティングされます。

    外部ロード・バランサが使用されていない場合、Endeca Serverクラスタにあるノードに外部リクエストを送信できます。これらは複数のノードにおいて分散されませんが、データ・ドメインを処理する適切なノードにルーティングされてから、複数のデータ・ドメイン・ノード間で負荷が分散されます。

  2. 指定されたデータ・ドメインのノードにおけるリクエストのロード・バランシング。この処理はEndeca Serverクラスタで自動的に処理されます。Endeca Serverインスタンスを実行するノードでリクエストを受け付け、データ・ドメインのノードにおいてこれらのリクエストのロード・バランシングを行います。

リクエストのルーティング

Endeca Serverクラスタは、複数のデータ・ドメイン・クラスタをホストできます。特定Endeca Serverノードへのデータ・ドメインの割当ては、リクエストを発行するクライアントにとって透過的ではありません。対象データ・ドメインをホストするクラスタのサブセットに、Endeca Serverノードに送信されたリクエストがEndeca Serverにより自動的に転送されます。

次の文ではリクエストのルーティングにおけるEndeca Serverクラスタの動作を説明しています。
  • リクエストはEndeca Serverクラスタのノードに送信できます。
  • リクエストで指定されたデータ・ドメインをホストする適切なEndeca ServerノードにリクエストをEndeca Serverによりルーティングします。

    たとえば、リクエストが更新リクエスト(データ・ロード・リクエストや構成更新など)の場合、データ・ドメイン・クラスタのリーダー・ノードにルーティングされます。リクエストが更新でない(問合せ処理)リクエストの場合、いずれかのフォロワ・ノードにルーティングされます。

  • 更新でないリクエストは、データ・ドメイン・クラスタにおいてランダムにロード・バランシングされます。セッション・アフィニティをサポートするには、リクエストを同じセッションからデータ・ドメインで同じノードに再ルーティングするために使用するセッションIDパラメータ、URLまたはCookieでデータ・ドメイン・プロファイルをオプションで構成できます。

    セッション・アフィニティをEndeca Serverで構成すると、同じセッションIDの問合せは、データ・ドメインで同じDgraphノードに必ずルーティングされます。これにより、効率的にDgraphプロセス・キャッシュを利用することで、問合せ処理パフォーマンスが向上し、キャッシュ・エンティティ(Studioでビューとして知られています)のパフォーマンスが向上します。Endecaデータ・ドメインのセッション・アフィニティの構成方法の詳細は、『Oracle Endeca Server管理者ガイド』を参照してください。