一 配置
启用Eureka的健康检查,这样,应用程序就会将自己的健康状态传播到Eureka Server。
开启的方法如下,下面是电影微服务的配置:
server:
port: 8010
spring:
application:
name: microservice-consumer-movie
eureka:
client:
healthcheck: #开启健康检查
enabled: true
serviceUrl:
defaultZone:http://localhost:8761/eureka/
instance:
prefer-ip-address: true
二 测试
![](https://i-blog.csdnimg.cn/blog_migrate/956007484de6ad6b0163c11e08e974c6.png)
三 说明
上图中,在status一栏有个UP,表示应用程序状态正常。应用程序还有其他取值,例如DOWN、OUT_OF_SERVICE、UNKNOWN等,只有标记为“UP”的微服务才会被请求。
Eureka Server和Eureka Client之间使用心跳机制来确认Eureka Client的状态,默认情况下,服务器端和客户端心跳保持正常,应用程序就会始终保持“UP”状态。
以上机制并不能完全反映应用程序的状态。举个例子,微服务于Eureka Server之间的心跳正常,Eureka Server认为该微服务是“UP”,然而,该微服务的数据源发生了问题(例如,因为网络抖动,连不上数据源),根本无法工作。
Spring Boot Acttuator提供了/health端点,该端点可展示应用程序的健康信息。那么如何才能将该端点的健康状态传播到Eureka Server呢。只要开启Eureka的健康检查。