不可用服务"/>
微服务基础----Eureka配置心跳和剔除不可用服务
1、注意
改配置建议在开发和测试环境下使用,尽量不要在生产环境使用。
2、背景
由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。
3、解决方案
Eureka server配置文件:
eureka:server:enable-self-preservation: false #关闭自我保护eviction-interval-timer-in-ms: 4000 #清理间隔(单位毫秒,默认是60*1000)
Eureka client配置文件:
eureka:instance:#服务过期时间配置,超过这个时间没有接收到心跳EurekaServer就会将这个实例剔除lease-expiration-duration-in-seconds: 30 #服务刷新时间配置,每隔这个时间会主动心跳一次lease-renewal-interval-in-seconds: 10
4、Eureka 心跳配置例子
A、Server服务端
server:port: 8761
eureka:client:#是否在eureka服务器上注册自己的信息以提供其他服务发现,默认为trueregister-with-eureka: false#客户端是否获取eureka服务器注册表上的注册信息,默认为truefetch-registry: falseserver:#开启自我保护模式enable-self-preservation: false#清理无效节点,默认60*1000毫秒,即60秒eviction-interval-timer-in-ms: 5000
B、Client客户端
spring:application:name: spring-A-client
eureka: instance:#eureka客户端需要多长时间发送心跳给eureka服务器,表明他仍然活着,默认30秒lease-renewal-interval-in-seconds: 5#eureka服务器在接收到实例的最后一次发出的心跳后,需要等待多久才可以将此实例删除lease-expiration-duration-in-seconds: 10metadata-map: company-name: eurekaclient: #表示eureka client间隔多久去拉取服务器注册信息,默认为30秒registry-fetch-interval-seconds: 30#表示eureka client间隔多久去拉取服务器注册信息,默认为30秒registry-fetch-interval-seconds: 30serviceUrl: defauiltZone: http://localhost:8761/eureka/
logging:level: com.netflix: DEBUG
更多推荐
微服务基础----Eureka配置心跳和剔除不可用服务
发布评论