例: ハードウェア利用状況が高いデータ・ドメイン・プロファイル

この例は、本番級データ・ドメイン・クラスタを定義するデータ・ドメイン・プロファイルの特性を示します。そのようなクラスタでは、各Dgraphノードは専用Endeca Serverノードで実行し、専用リーダー・ノードは更新リクエストのみ処理します。

データ・ドメイン・プロファイルは、クラスタWebサービスのdataDomainProfile複合型で定義します。クラスタWebサービスのputDataDomainProfile操作を使用して、データ・ドメイン・プロファイルをEndeca Serverに指定する際、この複合型が使用されます。endeca-cmd put-dd-profileも使用できます。

本番級データ・ドメイン構成における次の例では、次が確実になります。
  • Endeca Serverマシンがそのデータ・ドメインのみホストし、それらのCPU処理量の100%をデータ・ドメインのノード専用とするので、過大サブスクライブできません。Endeca Serverノードごとに利用可能なCPUコアの合計数にプロファイルでnumComputeThreadsの値を設定し、allowOversubscribeの値をfalseに設定することでこれが実現されます。
  • データ・ドメイン・クラスタのフォロワ・ノードは、更新しないエンド・ユーザー問合せリクエストの処理専用です。これによって、リーダー・ノードは、データと構成に対して更新リクエスト処理専用になります。この動作は、データ・ドメイン・プロファイル定義のallowQueriesOnLeader要素をfalseに設定することで定義します。

この例は、本番級データ・ドメイン・プロファイルを示します。これは完全Webサービス・リクエストのスニペットを示すので、例ではプロファイルの定義に使用する操作やクラスタWebサービスのネームスペースはリストされていません。

例では、Dgraphノード数を10に、各Dgraphノードでリクエストされるスレッドの数を4に指定しています。これらの数値は任意です。Endeca Serverクラスタにあるノードの全体容量とデータ・ドメイン・クラスタのニーズに応じて変更できます。この例では、データ・ドメインは10個のEndeca Serverノードによりホストされ、それぞれには4個以上のCPUがあることをこれらの数値は意味します。

この例で重要な部分は、allowQueriesOnLeaderallowOversubscribeの設定(両方がfalseに設定されています)およびnumComputeThreadsの設定(各Endeca ServerノードでCPUの数と同じになります)です。
<dataDomainProfile>
    <name>high hardware-usage profile</name>
    <description>Production data domain profile</description>
    <allowQueriesOnLeader>false</allowQueriesOnLeader>
    <numFollowers>10</numFollowers>
    <readOnly>false</readOnly>
    <allowOversubscribe>false</allowOversubscribe>
    <numComputeThreads>4</numComputeThreads>
    <computeCacheSizeMB>1</computeCacheSizeMB>
    <startupTimeoutSeconds>600</startupTimeoutSeconds>
    <shutdownTimeoutSeconds>30</shutdownTimeoutSeconds>
    <sessionIdType>header</sessionIdType>
    <sessionIdKey>X-Endeca-Session-ID</sessionIdKey>
</dataDomainProfile>