SpringBoot系列---【如何配置优雅停机?】

如何配置优雅停机?

1.优雅停机是什么

优雅停机就是在关闭应用程序之前,允许仍在进行中的请求操作完成,并设置超时时间,在此超时时间范围内,将不接收新请求。

2.Springboot服务怎么配置优雅停机

Spring Boot 2.3.0之后引入了Graceful Shutdown的功能。其中所有四个嵌入式Web服务器(Tomcat,Undertow,Netty和Jetty)都为响应式和基于Servlet的Web应用程序提供优雅停机功能。优雅停机是关闭应用程序上下文的一部分,并且在SmartLifecycle bean停止的最早阶段执行。
应用程序在宽限期内停止新请求的方式,取决于所使用的服务器。根据官方文档Tomcat、Jetty和Reactor Netty将在网络层停止接受请求,Undertow将接受请求,但立即会以HTTP 503(服务不可用)来响应。
在Spring Boot 2.3.0之后,优雅停机配置非常简单,只需在配置文件中配置下面两个参数即可实现。

参数说明:
1)server.shutdown:此属性支持的枚举值有immediate和graceful;
•immediate:默认值,启用此值时服务将立即关闭。
•graceful:启用优雅停机,并遵守spring.lifecycle.timeout-per-shutdown-phase属性中给出的超时。
2)spring.lifecycle.timeout-per-shutdown-phase:采用java.time.Duration格式的值,如果在这个时间内,优雅停机没有停掉应用,超过这个时间就会强制停止应用。

猜你喜欢

转载自blog.csdn.net/weixin_44988127/article/details/131821699