深入理解Spring Cloud与微服务构建(第2版)
上QQ阅读APP看书,第一时间看更新

4.4.3 使用Actuator关闭应用程序

当需要关闭某个应用程序时,只需要通过Actuator发送一个POST请求“/shutdown”。很显然,关闭程序是一件非常危险的事,所以默认的情况下关闭应用程序的API接口没有开启的。通过Curl模拟关闭应用程序的请求,Curl命令如下:

$ curl -X POST http://localhost:9001/actuator/shutdown

得到的响应信息如下:

{
  "timestamp": 1493092036024,
  "status": 404,
  "error": "Not Found",
  "message": "No message available",
  "path": "/shutdown"
}

上述信息显示找不到该请求路径,这是因为在默认的情况下这个节点是没有开启的,需要将endpoints. shutdown. enabled改为true。在程序的配置文件application.yml中添加如下代码:

management:
  endpoint:
    shutdown:
      enabled: true

加上配置之后,重启Spring Boot程序,再发送一次POST请求,请求API接口地址为http://localhost:9001/actuator/shutdown,得到的响应信息如下:

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

从得到的响应信息可以知道程序已经关闭。另外,Actuator的其他的API接口为Spring Boot程序的运行状态给开发人员或者运维人员提供了许多有用的信息,这些信息帮助我们更好地了解程序所处的状态,例如稳定性如何、故障点在哪里。在这里就不一一介绍了,有兴趣的读者可以对每个API接口逐一了解。