クラスター化環境での関連呼び出しのルーティング

パフォーマンスと信頼性の向上のために、クラスターと呼ばれるコンフィギュレーションで複数の ClaimCenter サーバーをインストールできます。ClaimCenter クラスターでは、複数の ClaimCenter サーバー間にクライアント接続を分散して、各サーバーの負荷を減らします。1 台のサーバーで障害が発生しても、他のサーバーがシームレスにそのトラフィックを処理します。クラスターの詳細については、管理ガイドを参照してください。

ClaimCenter がクラスター内で実行されている場合、関連する Cloud API 呼び出しが別のノードにルーティングされることがあります。これは、同時データ変更例外などの問題を起こす可能性があります。通常、複数の関連 Cloud API 呼び出しは、同じノードにルーティングする必要があります。

関連する Cloud API 呼び出しが必ず同じインスタンスにルーティングされる方法は 2 つあります。セッション ID(デフォルトの動作)と cookie です。

セッション ID の使用

クラスター環境における Cloud API 呼び出しのコンテキストでは、セッション ID は、呼び出し元アプリケーションで生成される任意の文字列であり、これによって関連 API 呼び出しを特定します。この ID は各要求のヘッダーで渡されます。特定のセッション ID を使用するすべての要求は、クラスター内の同じノードにルーティングされます。セッション ID のヘッダーキーは x-gwre-session です。

例えば、呼び出し元アプリケーションが以下の呼び出しを ClaimCenter クラスターに行うとします。

  1. アクティビティを作成する POST
  2. アクティビティを更新する PATCH
  3. アクティビティに備考・経緯を作成する POST

これら 3 つの呼び出しすべてに以下のヘッダーが含まれています。

x-gwre-session: 09d0fbf0-243c-4337-a582-725df8d33e39

3 つの呼び出しすべてが、同じセッション ID を指定しているので、3 つの呼び出しすべてが、同じノードにルーティングされます。

セッション ID は Guidewire Cloud Platform のデフォルト動作です。このオプションを使用する場合、Guidewire Cloud Operations に特別な依頼をする必要はありません。

cookie の使用

クラスター環境における Cloud API 呼び出しのコンテキストでは、cookie は、Guidewire Cloud Platform で生成される任意の文字列であり、これを使用して後続の関連 API 呼び出しを特定できます。

要求ヘッダーに x-gwre-session ヘッダーキーが含まれていない場合、Guidewire Cloud Platform で cookie を生成し、Set-Cookie ヘッダーキーで応答ヘッダーに含めて返します。後続の呼び出しでは、Cookie ヘッダーキーを使用して cookie を要求ヘッダーに含めることができます。特定の cookie を使用するすべての要求は、cookie を生成したクラスターで同じノードにルーティングされます。

例えば、呼び出し元アプリケーションが以下の呼び出しを ClaimCenter クラスターに行うとします。

  1. アクティビティを作成する POST
    • 要求ヘッダーには、x-gwre-session ヘッダーキーは含まれていません。
    • 応答ヘッダーには次のものが含まれます。 Set-Cookie: gwre=ccd37ca0-f8d3-4a8e-b278-83274d82b355; Path=/
  2. アクティビティを更新する PATCH
    • 要求ヘッダーには次のものが含まれます。 Cookie: gwre=ccd37ca0-f8d3-4a8e-b278-83274d82b355
  3. アクティビティに備考・経緯を作成する POST
    • 要求ヘッダーには次のものが含まれます。 Cookie: gwre=ccd37ca0-f8d3-4a8e-b278-83274d82b355

最初の呼び出しで返された cookie を 2 番目と 3 番目の呼び出しで指定しているため、最初の呼び出しを処理したノードと同じノードに、2 番目と 3 番目の呼び出しはルーティングされます。

cookie は Guidewire Cloud Platform のデフォルト動作ではありません。このオプションを使用する場合は、Guidewire Cloud Operations に依頼する必要があります。

セッション ID と cookie との比較

多くの場合、セッション ID を使用するほうが容易です。

  • セッション ID は呼び出し元アプリケーションによって生成されます。
  • セッション ID では、呼び出し元アプリケーションが応答ヘッダー内の情報を識別して保存場所(後でその情報を使用するための保存場所)を管理する必要はありません。
  • セッション ID は Guidewire Cloud Platform のデフォルト動作です。

cookie を使用する場合は、Guidewire Cloud Operations に依頼する必要があります。