DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Golang

Go 服务优雅停机实现:signal 监听、Shutdown 与资源清理

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

优雅停机:收到退出信号(SIGTERM/SIGINT)后停止接收新请求、处理完进行中的任务再退出。实现:① signal.Notify 监听 os.Interrupt/SIGTERM;② http.Server.Shutdown(ctx):带超时等待活跃连接完成;③ 关闭下游资源:DB 连接池、Redis、MQ consumer 先停止消费再关闭;④ goroutine 退出:context cancel 广播;⑤ 超时兜底:Shutdown 超时后强制退出(os.Exit)。K8s 场景:preStop hook + terminationGracePeriodSeconds 配合。

下载推广海报

圈内讨论推广海报

《Go 服务优雅停机实现:signal 监听、Shutdown 与资源清理》完整推广海报
REPLIES

回复

0 条回复
暂无回复。