Graceful Shutdown
グレースフルシャットダウン(Graceful Shutdown)は、終了シグナル受信後に新規リクエストの受付を停止し、処理中のリクエストを完了してから終了することで、リクエストの中断を避ける。
目的
シャットダウン時に処理中のリクエストを失わないようにし、ダウンタイムゼロのデプロイを可能にする。
メカニズム
SIGTERM 受信時:1) ロードバランサーから登録解除(新規リクエスト停止);2) 処理中リクエストの完了を待機(タイムアウト内);3) データベース接続を閉じる;4) 終了する。K8s の preStop フック + terminationGracePeriodSeconds と組み合わせる。
ユースケース
- ダウンタイムゼロのデプロイ
- リクエストの完全性
- K8s での運用