7.4.2 HMP-PCTOのKubernetesアプリケーションのグレースフルシャットダウンが開始できる条件
HMP-PCTOのKubernetesアプリケーションのグレースフルシャットダウンが開始できる条件を次の表に示します。
|
Kubernetesアプリケーション |
グレースフルシャットダウンが開始できる条件(AND条件) |
|---|---|
|
Orchestrator |
|
|
Entity-Service(Participantコンテナを含まないPodとする場合) |
|
|
SQL-Participant |
|
|
TCC-Participant |
|
|
TP1-Bridge(TP1連携機能を使用する場合) |
|
|
Mediator |
|
各Kubernetesアプリケーションのグレースフルシャットダウンが開始できる条件について、詳細を説明します。
- Orchestrator
-
Orchestratorは、トランザクション決着に関わるPodのため、トランザクションをできる限り決着させるために「トランザクション境界内で処理中の件数」が0件であることを条件とします。
また、Orchestratorは、ユーザのリクエストハンドラでユーザアプリケーション処理を実施しているため、リクエストへの応答をできる限り完了させるために「処理中リクエスト件数」が0件であることも条件とします。
- Entity-Service(Participantコンテナを含まないPodとする場合)
-
Entity-Service(Participantコンテナを含まないPodとする場合)は、ユーザのリクエストハンドラでユーザアプリケーション処理を実施しているため、リクエストへの応答をできる限り完了させるために「処理中リクエスト件数」が0件であることを条件とします。
なお、Entity-Service(Participantコンテナを含まないPodとする場合)は、トランザクション決着に関わるPodではないため、ほかのKubernetesアプリケーションのような「未決着トランザクション件数」は条件に含みません。
また、グレースフルシャットダウンが開始できる条件が「処理中リクエスト件数」だけなので、グローバルトランザクションが処理中でも、自Podはシャットダウンすることがあります。このとき、このKubernetesアプリケーションがオートスケール機能を使用している場合は、ほかのKubernetesアプリケーションからこのKubernetesアプリケーションへ再度リクエストが来たとき、並行して稼働している別Podでリクエストを受け付けます。
- SQL-Participant、TCC-ParticipantおよびTP1-Bridge(TP1連携機能を使用する場合)
-
SQL-Participant、TCC-ParticipantおよびTP1-Bridge(TP1連携機能を使用する場合)は、トランザクション決着に関わるPodのため、トランザクションをできる限り決着させるために「未決着トランザクション件数」が0件であることを条件とします。
SQL-Participant、TCC-ParticipantおよびTP1-Bridge(TP1連携機能を使用する場合)は、前述のOrchestratorやEntity-Service(Participantコンテナを含まないPodとする場合)ユーザアプリケーション処理を完了させるために、できる限り応答を返す必要があります。そのため、「処理中リクエスト件数」が0件であることも条件とします。
- Mediator
-
Mediatorは、トランザクション決着に関わるPodのため、トランザクションをできる限り決着させるために「未決着トランザクション件数」が0件であることを条件とします。
なお、Mediatorは、ユーザアプリケーション処理を含まないため、ほかのKubernetesアプリケーションのような「処理中リクエスト件数」は条件に含みません。