概要

今日はグレースフルシャットダウンについて学んだ。

学んだこと

グレースフルシャットダウン(Graceful Shutdown)とは、システムやアプリケーションを停止させる際に、現在の処理やタスクを可能な限り安全に完了させ、リソースの解放を適切に行いながら停止する一連の流れを指す。

データ損失やシステムの不整合を防ぎ、ユーザー体験やシステムの安定性を保つために重要な概念。

グレースフルシャットダウンの主なポイント:

処理の完了を待つ — 受け付け済みのリクエストや実行中のタスクを途中で打ち切らず、完了するまで待ってから停止する

新規リクエストの受付停止 — シャットダウン開始後は新たなリクエストを受け付けないようにすることで、中断のリスクを減らす

リソースの適切な解放 — データベース接続やファイルハンドラなどのリソースを正しく閉じ、リソースリークを防ぐ

タイムアウトの設定 — 処理が終わらない場合に備えてタイムアウトを設け、一定時間内に強制終了できるようにする

参考文献

https://zenn.dev/loglass/articles/348886ded0f0bd