クライアント・リクエストを受信すると、Endeca Serverクラスタでは適切なデータ・ドメインをホストする任意のEndeca Serverノードにルーティングします。オプションで、データ・ドメイン・プロファイルを構成して、リクエスト・ルーティングのセッション・アフィニティを利用できます。
セッション・アフィニティをEndeca Serverで構成すると、同じセッションIDの問合せは、データ・ドメインで同じDgraphノードに必ずルーティングされます。これにより、効率的にDgraphプロセス・キャッシュを利用することで、問合せ処理パフォーマンスが向上し、キャッシュ・エンティティ(Studioでビューとして知られています)のパフォーマンスが向上します。
データ・ドメイン・プロファイルをendeca-cmdで構成する際、次を指定できます。
endeca-cmdパラメータ | 説明 |
---|---|
endeca-cmd put-dd-profile --session-id-type method | method: セッション・アフィニティの確立に使用されます。
使用可能なオプションは、HEADER(HTTPヘッダー)、PARAMETER(URLパラメータ)またはCOOKIEです。 デフォルトの方法はHEADERです。この値では大文字と小文字は区別されません。 |
endeca-cmd put-dd-profile --session-id-key name | 指定された方法でチェックされるオブジェクトの名前。デフォルト名はX-Endeca-Session-IDです。 |
このプロファイルを使用して新規データ・ドメインを作成する際、Endeca Serverでは指定された値を利用します。
すべての3つ方法(HTTPヘッダー、URLパラメータまたはCookie)の場合、指定した方法と名前に基づいてEndeca ServerでセッションIDを探します。Endeca Serverで特定のセッションIDがリクエストにおいて検出されないと、任意にIDを選択して、ラウンドロビン分散を使用してリクエストを適切なEndeca Serverノードにルーティングしようとします。
ホストされるデータ・ドメインにリクエストを発行するフロントエンド・クライアント・アプリケーションが、HTTPヘッダー、URLパラメータおよびCookieをそのリクエスト用に明示的に設定することをEndeca Serverで期待します。
endeca-cmd put-dd-profile --session-id-type <method> --session-id-key <name>
または、次の構文をクラスタWebサービスのリクエストで使用できます(セッション・アフィニティ構成に固有のパラメータのみをリストし他のデータ・ドメイン・パラメータを省略するようにこの例は簡略化されています)。
<ns1:putDataDomainProfile xmlns:ns1="http://www.endeca.com/endeca-server/cluster/1/0"> <ns1:dataDomainProfile> ... <ns10:sessionIdType xmlns:ns10="http://www.endeca.com/endeca-server/types/1/0">header</ns10:sessionIdType> <ns11:sessionIdKey xmlns:ns11="http://www.endeca.com/endeca-server/types/1/0">X-Endeca-Session-ID</ns11:sessionIdKey> </ns1:dataDomainProfile> </ns1:putDataDomainProfile>