如何快速集成微服务的健康检查,开箱即用

时光闹钟app开发者,请关注我,后续分享更精彩!

坚持原创,共同进步!

背景

微服务的健康状态检查是感知服务可用性的常用手段,为快速发现系统问题提供了重要途径,是微服务体系建设中必不可缺的一环。

本文整理了springboot项目快速集成health Check的方式,开箱即用,希望对大家有所帮助。

实现方式

集成

添加maven依赖

spring-boot-starter-actuator组件自动实现应用的健康检查接口,默认url为 /actuator/health

注意:actuator组件默认只对外开放health接口端点,对info、dump等端点生产环境禁止开放,预防信息泄露过多导致安全问题。



    org.springframework.boot
    spring-boot-starter-actuator

配置属性

# springboot启动会检查health的starter基础组件(redis/mongo/es...),
# 若发现有集成组件,health检查请求时,会一并检查相应组件的健康状况。
# 1.屏蔽单个基础组件检查
# management.health.mail.enabled: false
# management.health.mongo.enabled: false
# management.health.redis.enabled: false
# management.health.solr.enabled: false
# management.health.elasticsearch.enabled: false
# 2.屏蔽所有基础组件检查(redis/mongo/es...),减少health接口频繁调用影响应用性能
management:
  health:
    defaults:
      enabled: false

### 3.健康检查url从/actuator/health调整为/healthz
# 默认base路径从/actuator路径改为/
# management.endpoints.web.base-path: /
# 将health修改成healthz
# management.endpoints.web.path-mapping.health: healthz

上面列了health一些关键属性配置,详细可参见注释说明。
spring-boot-starter-actuator组件预置了很多功能,除了health,还有info、dump等丰富诊断接口,这些接口可以方便的帮忙我们了解系统运行时信息。但需要注意的是,这些接口同时也暴露了过多系统概况信息,在生产环境一定要慎用,线上环境通常只打开health,不同应用场景请按需选择使用。
另外,health健康检查作为服务应用的探活接口,访问频率通常比较高,因此,health接口要尽可能简单,避免过多基础组件的检查(redis/mongo/es...),以免逻辑太重影响原有业务服务。

验证

在springboot项目中按上面集成方式引入,启动服务,浏览器输入访问地址
http://{服务地址}/actuator/health,返回状态200,表示集成成功,如下图

总结

介绍了spring-boot-starter-actuator的引入步骤。开箱即用,快速实现health健康检查接口到项目的集成。同时,需关注组件关键配置属性,注意生产环境系统信息的安全泄露问题,屏蔽不需要的信息接口。
最后,希望本文整理能对大家有所帮助和参考,若有疑问,欢迎留言讨论。

展开阅读全文

页面更新:2024-04-29

标签:快速   健康   屏蔽   组件   属性   接口   方式   基础   项目   信息

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top