Spring Cloud中,Eureka常见问题总结。spring
参考文档:bootstrap
eureka.instance.leaseRenewalIntervalInSeconds
|
参考文档:
服务器
翻译:网络
做为实例还涉及到与注册中心的周期性心跳,默认持续时间为30秒(经过serviceUrl)。在实例、服务器、客户端都在本地缓存中具备相同的元数据以前,服务不可用于客户端发现(因此可能须要3次心跳)。你能够使用eureka.instance.leaseRenewalIntervalInSeconds 配置,这将加快客户端链接到其余服务的过程。在生产中,最好坚持使用默认值,由于在服务器内部有一些计算,他们对续约作出假设。
|
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
|
保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注册表中的信息,再也不删除服务注册表中的数据(也就是不会注销任何微服务)。app
详见: 在开发过程当中,咱们经常但愿Eureka Server可以迅速有效地踢出已关停的节点,可是新手因为Eureka自我保护模式,以及心跳周期长的缘由,经常会遇到Eureka Server不踢出已关停的节点的问题。解决方法以下:ide
(1) Eureka Server端:配置关闭自我保护,并按需配置Eureka Server清理无效节点的时间间隔。spring-boot
eureka.server.enable-self-preservation # 设为false,关闭自我保护
eureka.server.eviction-interval-timer-in-ms # 清理间隔(单位毫秒,默认是60*1000)
|
(2) Eureka Client端:配置开启健康检查,并按需配置续约更新时间和到期时间。微服务
eureka.client.healthcheck.enabled # 开启健康检查(须要spring-boot-starter-actuator依赖)
eureka.instance.lease-renewal-interval-in-seconds # 续约更新时间间隔(默认30秒)
eureka.instance.lease-expiration-duration-in-seconds # 续约到期时间(默认90秒)
|
示例:
服务器端配置:this
eureka:
server:
enable-self-preservation: false
eviction-interval-timer-in-ms: 4000
|
eureka:
client:
healthcheck:
enabled: true
instance:
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 10
|
注意:
更改Eureka更新频率将打破服务器的自我保护功能,生产环境下不建议自定义这些配置。
详见: 在Spring Cloud中,服务的Instance ID的默认值是${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}
,也就是机器主机名:应用名称:应用端口
。所以在Eureka Server首页中看到的服务的信息相似以下:itmuch:microservice-provider-user:8000
。若是想要自定义这部分的信息怎么办?
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: preferIpAddress: true instance-id: ${spring.cloud.client.ipAddress}:${server.port} # 将Instance ID设置成IP:端口的形式
eureka.client.healthcheck.enabled=true
只应该在application.yml中设置。若是设置在bootstrap.yml中将会致使一些不良的反作用,例如在Eureka中注册的应用名称是UNKNOWN等。
转自:http://www.itmuch.com/spring-cloud-sum-eureka/