eurekaSever可以根据client的心跳检测client是否正在运行但是无法知道运行的client健康状态是怎样的,这时候需要client把自己的健康状态告知sever。
例:client与数据库连接中断,此时服务是正常运行的,但是健康状态有问题。因为他无法连接数据库了,此时其他服务调用该服务的话也会有问题。但是eurekaSever无法检测到client与数据库的链接中断了他只知道服务还在正常运行,所以需要client告知sever自己的健康状态有问题。
yml配置:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8700/eurekaServer/eureka/
#健康检查:当服务状态出现异常时(如:数据库连接中断)会把状态推送给eurekaSever
healthcheck:
enabled: true
pom添加检测状态需要的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
检测地址:
"homePageUrl": "http://127.0.0.2:8601/eureka-client/",
"statusPageUrl": "http://127.0.0.2:8601/eureka-client/actuator/info",
"healthCheckUrl": "http://127.0.0.2:8601/eureka-client/actuator/health",
服务健康状态是 UP