SpringBoot核心技术:Actuator远程关闭服务“黑科技”

之前章节介绍了Actuator对服务系统监控相关的知识点,了解到了开放指定监控节点查看详细健康信息,我们本章来介绍下Actuator的黑科技,远程关闭应用服务。

本章目标

通过配置Actuator完成服务远程关闭

构建项目

本章同样使用之前章节的源码基础上修改,访问源码汇总下载SpringBoot2.x/hengboy-spring-boot-actuator章节源码,通过idea工具进行打开。

配置远程关闭服务

由于Autuator内置了远程关闭服务功能,所以我们可以很简单的开启这一项“黑科技”,修改application.yml配置文件,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 管理节点配置
management:
endpoints:
web:
# actuator的前缀地址
base-path: /
# 开放指定节点
exposure:
include:
- health
- info
- mappings
- env
- shutdown
# 开启远程关闭服务
shutdown:
enabled: true

通过management.endpoint.shutdown.enabled参数来进行设置,默认为false,默认不会开启远程关闭服务功能,然后把shutdown节点进行开放,否则无法发送远程关机请求。

注意:在SpringBoot核心技术:你了解Actuator开放指定监控节点吗?文章内我们说到了Actuator内置的监控节点列表,当我们访问shutdown节点时必须发送POST类型请求,否则无法执行关机操作。

测试

打开终端或者postman工具进行测试关机请求,如下是终端命令测试结果:

1
curl -X POST http://localhost:8080/shutdown

通过curl命令发送POST请求类型到http://localhost:8080/shutdown,发送完成后会响应一段信息:

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

我们去查看对应的服务实例运行状态时可以发现已经停止了。

总结

本章配置比较简单,通过修改两个地方开启了远程关闭服务的操作。

不过建议没事不要打开,打开后也不要对公网开放,黑科技都是比较危险的。

源码位置

我在星球等你提问

如果你有技术相关的问题想要咨询恒宇少年,请去博客(http://blog.yuqiyu.com)首页左侧导航栏,点击`知识星球`微信扫码加入我的星球。

与恒宇少年面对面

如果你喜欢恒宇少年的相关文章,那么就去微信公众号(恒宇少年)关注我吧!!!
当然你也可以去 SpringCloud码云源码 项目底部扫描微信公众号二维码关注我,感谢阅读!!!

恒宇少年的干货系列

恒宇少年的开源框架

这段时间一直在编写开源的相关框架,致力于公司使用的框架升级以及开源计划,将公司使用到的工具以及插件进行升级重构并且开源。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×