Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


7.4.3 グレースフルシャットダウンの実現方法

グレースフルシャットダウンの実現方法を説明します。

7.4.2 HMP-PCTOのKubernetesアプリケーションのグレースフルシャットダウンが開始できる条件」によって、グレースフルシャットダウンの実現方法が異なります。それぞれの実現方法は次のとおりです。

Pod終了処理時に、未決着トランザクション件数および処理中リクエスト件数が0件になるまでの待機範囲を、次の図に示します。

図7‒1 Pod終了処理時に、未決着トランザクション件数および処理中リクエスト件数が0件になるまでの待機範囲

[図データ]

この図に示すとおり、「未決着トランザクション件数」と「処理中リクエスト件数」の両方を条件に含むKubernetesアプリケーションの場合は、次の順序で待機を実施します。Podは、次の2つの待機が完了したときにシャットダウンします。

  1. トランザクション待機スクリプトによる「未決着トランザクション件数」の待機

  2. Spring BootのGraceful Shutdown機能による「処理中リクエスト件数」の待機

また、上記の待機が完了しないケースを考慮し、KubernetesのterminationGracePeriodSeconds(安全な停止待機秒数)を指定してください。トランザクション待機スクリプトによる「未決着トランザクション件数」の待機を開始してから指定した秒数が経過した場合に、Podを強制的にシャットダウンします。