微服务基础----Eureka配置心跳和剔除不可用服务
1、注意改配置建议在开发和测试环境下使用,尽量不要在生产环境使用。2、背景由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。3、解决方案Eureka server配置文件:eureka:server:enable-self-preserva...
·
改配置建议在开发和测试环境下使用,尽量不要在生产环境使用。
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 心跳配置例子
server:
port: 8761
eureka:
client:
#是否在eureka服务器上注册自己的信息以提供其他服务发现,默认为true
register-with-eureka: false
#客户端是否获取eureka服务器注册表上的注册信息,默认为true
fetch-registry: false
server:
#开启自我保护模式
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: 10
metadata-map:
company-name: eureka
client:
#表示eureka client间隔多久去拉取服务器注册信息,默认为30秒
registry-fetch-interval-seconds: 30
#表示eureka client间隔多久去拉取服务器注册信息,默认为30秒
registry-fetch-interval-seconds: 30
serviceUrl:
defauiltZone: http://localhost:8761/eureka/
logging:
level:
com.netflix: DEBUG
更多推荐
已为社区贡献2条内容
所有评论(0)