赞
踩
点此服务实例,没有显示,说明provider已掉线,但eureka没有更新
情况出现原因是:Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 即会进入自我保护机制。
此时, Eureka 不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。
解决办法:在 eureka 的 application.yml中增加
eureka:
server:
enable-self-preservation: false #设置为false表示关闭保护模式.在保护模式下,如因为网络或其它问题服务提供者掉线的话,eureka不会立即清空服务列表
可以适当通过设置eureka的清理时间,以及要注册的服务端的心跳间隔时间
eureka中设置eureka
server:
eviction-interval-timer-in-ms: 1000 #设置清理的间隔时间,ms (默认是60秒)
服务端中设置eureka
instance:
lease-renewal-interval-in-seconds: 2 #设置心跳的时间间隔( default:30s )
lease-expiration-duration-in-seconds: 5 #如果现在超过了5s的时间间隔( default: 90 s )
重启 eureka服务,以及服务端服务查看效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。