美文网首页
SpringBoot 2.3.0 开启实时健康检查,以及配置优雅

SpringBoot 2.3.0 开启实时健康检查,以及配置优雅

作者: 天不生我小金 | 来源:发表于2020-10-03 13:59 被阅读0次

前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。

完整代码地址在结尾!!

第一步,导入maven依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

第二步,配置application.yml,如下

server:
  port: 8185
  shutdown: graceful # 在web容器关闭时,web服务器将不再接收新请求,并将等待活动请求完成的缓冲期。默认为立即关闭。

spring:
  application:
    name: actuator-demo-server
  lifecycle:
    timeout-per-shutdown-phase: 20s # 默认时间为30S, 意味着最大等待30S,超时候无论线程任务是否执行完毕都会停机处理,一定要合理合理设置。

management:
  endpoint:
    health:
      show-details: always # 显示健康详情
    shutdown:
      enabled: true # 开启shutdown端点访问
  endpoints:
    web:
      base-path: /actuator # 访问根路径
      exposure:
        include: "*" # 开启除了shutdown以外的所有端点访问

第三步,创建TestController,如下

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author luoyu
 * @since 2020-02-13
 */
@Slf4j
@RestController
@RequestMapping("/test")
public class TestController {

    /**
     * @author luoyu
     * @description 测试接口
     */
    @GetMapping(value = "/get", produces = "application/json; charset=UTF-8")
    public String getTest1() throws Exception {
        log.info("开始");
        Thread.sleep(10000L);
        log.info("结束");
        return "请求成功!";
    }

}

第四步,测试,流程如下

  1. 启动项目
  2. 用GET方式请求http://localhost:8185/test/get接口
  3. 用POST方式请求http://localhost:8185/actuator/shutdown接口
  4. 观察控制台打印日志,发现是等待接口请求完成后才停机
另外,其他端点的路径如下表格,注意,前面需要添加/actuator根路径,如下
请求方式 路径 说明
POST /shutdown 关闭应用程序,要求endpoints.shutdown.enabled设置为true
GET /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
GET /configprops 描述配置属性(包含默认值)如何注入Bean
GET /beans 描述应用程序上下文里全部的Bean,以及它们的关系
GET /dump 获取线程活动的快照
GET /env 获取全部环境属性
GET /env/{name} 根据名称获取特定的环境属性值
GET /health 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
GET /info 获取应用程序的定制信息,这些信息由info打头的属性提供
GET /mappings 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系
GET /metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数
GET /metrics/{name} 报告指定名称的应用程序度量值
GET /trace 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)
完整代码地址:https://github.com/Jinhx128/springboot-demo
注:此工程包含多个module,本文所用代码均在actuator-demo模块下

后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。
springboot项目修改启动打印图标

相关文章

网友评论

      本文标题:SpringBoot 2.3.0 开启实时健康检查,以及配置优雅

      本文链接:https://www.haomeiwen.com/subject/wilwuktx.html