クラスター化環境での関連呼び出しのルーティング
パフォーマンスと信頼性の向上のために、クラスターと呼ばれるコンフィギュレーションで複数の 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 クラスターに行うとします。
- アクティビティを作成する POST
- アクティビティを更新する PATCH
- アクティビティに備考・経緯を作成する 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 クラスターに行うとします。
- アクティビティを作成する POST
- 要求ヘッダーには、
x-gwre-sessionヘッダーキーは含まれていません。 - 応答ヘッダーには次のものが含まれます。
Set-Cookie: gwre=ccd37ca0-f8d3-4a8e-b278-83274d82b355; Path=/
- 要求ヘッダーには、
- アクティビティを更新する PATCH
- 要求ヘッダーには次のものが含まれます。
Cookie: gwre=ccd37ca0-f8d3-4a8e-b278-83274d82b355
- 要求ヘッダーには次のものが含まれます。
- アクティビティに備考・経緯を作成する 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 に依頼する必要があります。