コンテンツへスキップ
uencoder

Graceful Shutdown

グレースフルシャットダウン(Graceful Shutdown)は、終了シグナル受信後に新規リクエストの受付を停止し、処理中のリクエストを完了してから終了することで、リクエストの中断を避ける。

目的

シャットダウン時に処理中のリクエストを失わないようにし、ダウンタイムゼロのデプロイを可能にする。

メカニズム

SIGTERM 受信時:1) ロードバランサーから登録解除(新規リクエスト停止);2) 処理中リクエストの完了を待機(タイムアウト内);3) データベース接続を閉じる;4) 終了する。K8s の preStop フック + terminationGracePeriodSeconds と組み合わせる。

ユースケース

  • ダウンタイムゼロのデプロイ
  • リクエストの完全性
  • K8s での運用

References