在最新版的Spring Boot 2.3中终于集成了优雅退出(Graceful shutdown),在官方文档中可以看到内置的 web 服务器(Jetty、Reactor Netty、Tomcat 和 Undertow)以及反应式和基于 Servlet 的 web 应用程序都支持优雅退出功能。当server.shutdown=graceful启用时,在 web 容器关闭时,web 服务器将不再接收新请求,并将等待活动请求完成的缓冲期。
而且使用方式很简单,只需要配置一下yml文件即可:
server.shutdown=graceful
spring.lifecycle.timeout-per-shutdown-phase=20s
优雅退出一个好处就是:在减少了服务实例滚动升级时,服务不可用的时间(旧实例上的请求处理)。
本次更新中还有一个个人比较喜欢的特性:
支持 Kubernetes 容器探测(liveness and readiness probe)
在平台上部署时,应用程序可以使用Kubernetes Probes等基础设施向平台提供关于其可用性的信息。Spring Boot包含对常用的“活性”和“准备就绪”可用性状态的开箱即用支持。
喜欢就点个在看 or 转发个朋友圈呗
衣舞晨风
推荐阅读:
阿里分布式事务解决方案 Fescar 解析
JDK/Java 13:ZGC未使用堆内存归还操作系统
[译]ZGC: 一个可伸缩的低延迟垃圾收集器