Eureka的自我保护机制是什么?
如果15分钟内超过85%的节点都没有正常的心跳,那么eureka就会认为客户端与注册中心出现了网络故障,eureka不再从列表中移出因为长时间没有收到心跳而应该过期的服务,并且能接收新服务注册和查询,只是不再同步到其他节点上,保证当前节点依然可用,网络稳定时,当前新的注册信息会被同步到其他节点上。
Eureka自我保护机制中,客户端默认每30秒向服务端发送一次心跳,服务端默认超过90秒未发送心跳则认为该服务异常但不剔除。
关闭自我保护机制:
- 一、在Eureka服务端关闭自我保护
eureka:
server:
# 关闭自我保护机制,保证不可用服务被及时剔除.默认开启保护机制 true
enable-self-preservation: false
eviction-interval-timer-in-ms: 2000
二、设置Eureka客户端连接时间
eureka:
instance:
# Eureka客户端向服务端发送心跳时间,默认30S
lease-renewal-interval-in-second: 1
# Eureka服务端在收到最后一次心跳后等待时间上限,默认90S,超出即剔除
lease-expiration-duration-in-second: 2