spring cloud 微服务架构模型:
如何实现优雅停机?
spring boot 提供了 spring-boot-starter-actuator 组件实现生产就绪功能,其中包括/shutdown优雅停机
pom.xml 配置:
<!-- 生产就绪功能 包括优雅停机 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
在配置文件application.yml中加入如下信息:
endpoints:
shutdown:
#优雅停机
enabled: true
#关闭权限验证
sensitive: false
启动日志会打印以下信息:
Mapped "{[/shutdown || /shutdown.json],methods=[POST]
停止服务方式:
curl -X POST http://172.19.250.227:10501/shutdown
停止成功会返回:
{"message":"Shutting down, bye..."}
即发送post请求 http://ip:port/shutdown 即可优雅停止服务,停止之后再去eureka注册中心查询发现被停止的服务已经下线。