问题:
最近遇到一个很奇怪的问题,就是使用springcloud的时候,服务明明已经停止,但是在eureka中一直显示此服务状态为UP,这样就导致了请求再次过来的时候被分发到已经停止的服务上,其实这是不合理的,后来发现是配置文件的原因,稍加调整就好了。
解决办法:
eureka服务端:
eviction-interval-timer-in-ms: 3000 eureka server清理无效节点的时间间隔,默认60000毫秒,即60秒
enable-self-preservation: true 是否开启自我保护模式,默认为true
eureka客户端:
healthcheck.enable: true 开启健康检查
lease-renewal-interval-in-seconds: 3 eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,则将摘除该instance
lease-expiration-duration-in-seconds: 6 eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance
配置完成后就可以了。