版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Wyx_wx/article/details/89289997
部分内容摘自Spring Cloud 官方文档中文版
默认情况下,客户端在服务中心注册成功后,将一直处于 "UP" 状态
即当该客户端出现故障或被关闭后,服务中心会认为该客户端依旧存在,依旧会将部分请求发送至该客户端执行,从而导致不良体验,这称作是 Eureka 的自我保护机制
要想解决这种问题,则需要在服务端的配置中关闭自我保护机制,并在客户端的配置文件中加入发送心跳间隔时间和服务器等待时间两项
服务端:
# 关闭自我保护
# 服务中心会将心跳过期的实例删除
eureka.server.enable-self-preservation=false
# 单位: 毫秒
eureka.server.eviction-interval-timer-in-ms=90000
客户端:
# 表明客户端将心跳发送到服务器端的时间间隔
# 默认 30s
eureka.instance.lease-renewal-interval-in-seconds=30
# 服务器端等待的时间,超时后会将该客户端删除
# 默认 90s
eureka.instance.lease-expiration-duration-in-seconds=90
状态页和健康指标
Eureka实例的状态页面和运行状况指示器分别默认为“/ info”和“/ health”
想要查看这两个界面需要在客户端的 pom.xml 中引入依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
重新启动客户端后访问 http://localhost:8762/actuator/health 和 http://localhost:8762/actuator/info