生产环境平滑升级解决方案--springboot 优雅停机

优雅停机:当我们停止当前springboot服务时,正在执行的业务操作不受影响,继续完成请求的处理,但是会拒绝新的请求

springboot在2.3版本中加入了优雅停机的特性,支持tomcat、jetty等web服务器

配置如下:

# 开启优雅停止 Web 容器,默认为 IMMEDIATE:立即停止
server:
  shutdown: graceful

# 最大等待时间
spring:
  lifecycle:
    timeout-per-shutdown-phase: 30s

在优雅停机前我们可以将服务器请求负载到其他服务器,执行kill -2 后,已经进入当前服务器的流量会继续完成请求,此刻新的流量会负载到其他服务器。

我们在日常线上的生产环境可以使用此方案。

注:优雅停机的特性针对tomcat版本在9.0以上

也可不实用kill 暴力停止,使用Actuator来优雅的关闭spring容器,在项目中添加actuator依赖,然后再添加一些配置来暴露 actuator 的 shutdown 接口。当停机时直接调用 http://localhost:8080/actuator/shutdown   即可实现优雅停机,会返回如下结果

{
    "message": "Shutting down, bye..."
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值