写点什么

springCloud 学习三之 Eureka 健康检查,java 开发 api 接口教程

用户头像
极客good
关注
发布于: 刚刚

"href": "http://localhost:8088//actuator",


"templated": false


},


"archaius": {


"href": "http://localhost:8088//actuator/archaius",


"templated": false


},


"beans": {


"href": "http://localhost:8088//actuator/beans",


"templated": false


},


"caches": {


"href": "http://localhost:8088//actuator/caches",


"templated": false


},


"caches-cache": {


"href": "http://localhost:


【一线大厂Java面试题解析+核心总结学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


8088//actuator/caches/{cache}",


"templated": true


},


"health-path": {


"href": "http://localhost:8088//actuator/health/{*path}",


"templated": true


},


"health": {


"href": "http://localhost:8088//actuator/health",


"templated": false


},


"info": {


"href": "http://localhost:8088//actuator/info",


"templated": false


},


"conditions": {


"href": "http://localhost:8088//actuator/conditions",


"templated": false


},


"configprops": {


"href": "http://localhost:8088//actuator/configprops",


"templated": false


},


"env-toMatch": {


"href": "http://localhost:8088//actuator/env/{toMatch}",


"templated": true


},


"env": {


"href": "http://localhost:8088//actuator/env",


"templated": false


},


"loggers-name": {


"href": "http://localhost:8088//actuator/loggers/{name}",


"templated": true


},


"loggers": {


"href": "http://localhost:8088//actuator/loggers",


"templated": false


},


"heapdump": {


"href": "http://localhost:8088//actuator/heapdump",


"templated": false


},


"threaddump": {


"href": "http://localhost:8088//actuator/threaddump",


"templated": false


},


"metrics": {


"href": "http://localhost:8088//actuator/metrics",


"templated": false


},


"metrics-requiredMetricName": {


"href": "http://localhost:8088//actuator/metrics/{requiredMetricName}",


"templated": true


},


"scheduledtasks": {


"href": "http://localhost:8088//actuator/scheduledtasks",


"templated": false


},


"mappings": {


"href": "http://localhost:8088//actuator/mappings",


"templated": false


},


"refresh": {


"href": "http://localhost:8088//actuator/refresh",


"templated": false


},


"features": {


"href": "http://localhost:8088//actuator/features",


"templated": false


},


"service-registry": {


"href": "http://localhost:8088//actuator/service-registry",


"templated": false


}


}


}


api 端点功能




Health


会显示系统状态


{"status":"UP"}


shutdown


用来关闭节点


开启远程关闭功能


management.endpoint.shutdown.enabled=true



使用 Post 方式请求端点


{


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


}


autoconfig


获取应用的自动化配置报告 beans


获取应用上下文中创建的所有 Bean


configprops


获取应用中配置的属性信息报告


env


获取应用所有可用的环境属性报告


Mappings


获取应用所有 Spring Web 的控制器映射关系报告


info


获取应用自定义的信息


metrics


返回应用的各类重要度量指标信息


Metrics 节点并没有返回全量信息,我们可以通过不同的 key 去加载我们想要的值


metrics/jvm.memory.max


Threaddump


1.x 中为 dump


返回程序运行中的线程信息


Eureka 健康检查


===========


由于 server 和 client 通过心跳保持 服务状态,而只有状态为 UP 的服务才能被访问。看 eureka 界面中的 status。


比如心跳一直正常,服务一直 UP,但是此服务 DB 连不上了,无法正常提供服务。


此时,我们需要将微服务的健康状态也同步到 server。只需要启动 eureka 的健康检查就行。这样微服务就会将自己的健康状态同步到 eureka。配置如下即可。

开启手动控制

在 client 端配置:将自己真正的健康状态传播到 server。


eureka:


client:


healthcheck:


enabled: true

Client 端配置 Actuator

<dependency>


<groupId>org.springframework.boot</groupId>


<artifactId>spring-boot-starter-actuator</artifactId>


</dependency>

改变健康状态的 Service

@Service


public class HealthStatusService implements HealthIndicator{


private Boolean status = true;


public void setStatus(Boolean status) {


this.status = status;


}


@Override


public Health health() {


// TODO Auto-generated method stub


if(status)


return new Health.Builder().up().build();


return new Health.Builder().down().build();


}


public String getStatus() {


// TODO Auto-generated method stub


return this.status.toString();


}


}

测试用的 Controller

@GetMapping("/health")


public String health(@RequestParam("status") Boolean status) {


healthStatusSrv.setStatus(status);


return healthStatusSrv.getStatus();


}

演示

服务 UP:






用户头像

极客good

关注

还未添加个人签名 2021.03.18 加入

还未添加个人简介

评论

发布
暂无评论
springCloud学习三之Eureka健康检查,java开发api接口教程