很多情况下,在应用程序启动后需要关闭时候,直接shutdown会导致正在处理的请求中断,而采用graceful shutdown可以实现不再接受新的请求,并将已接收到的请求处理完毕再关闭程序释放资源
Springboot graceful shutdown应用场景
Springboot中提供了优雅停机方案,在关闭阶段会给应用程序一个宽限期,然后不再处理新的请求处理,并将已经接收到的请求在宽限期内结束。对触发停机后再接收到的请求处理方式取决于不同的web服务器:Jetty, Reactor Netty, Tomcat将会在网络层停滞请求接收,而Undertow将会接受请求,但会直接返回服务器不可用的503状态码
使用方式
开启优雅停机
server: shutdown: "graceful"
还需要配置一个宽限期
spring: lifecycle: time-per-shutdown-phase :"20s"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?