Spring Cloud Eureka Server自我保存和续订阈值

时间:2018-09-12 14:32:52

标签: spring spring-boot microservices netflix-eureka

(基本上是两个Eureka服务器和三个Eureka客户端微服务)

我要删除以下消息:

  

紧急!如果不是,EUREKA可能会不正确地提出索赔要求。更新的门槛比以往任何时候都要小,因此,仅仅为了安全起见,实例就不会过期。

error image

Eureka Server1:

public class events1
{
    public int Id { get; set; }
    public string title { get; set; }
    public string report { get; set; }
    public string image1 { get; set; }
    public string image2 { get; set; }

    //the new added line//

    public HttpPostedFileBase ImageFile { get; set; }
}

Eureka Server2:

spring.application.name=ms-service-discovery-1
server.port=8761

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.server.enableSelfPreservation= true
eureka.instance.leaseRenewalIntervalInSeconds=1
eviction-interval-timer-in-ms: 1000
eureka.server.wait-time-in-ms-when-sync-empty: 1000
eureka.server.responseCacheUpdateIntervalMs: 1000

1 个答案:

答案 0 :(得分:0)

这是由于Eureka的自我保存模式所致。如果心跳续订次数低于预期阈值,则Eureka服务器将停止逐出所有实例。您的Eureka服务器中的警告表明发生了这种情况。

请尝试调整以下属性。默认值是85%。首先,只需降低下面的属性,例如0.50

eureka.renewalPercentThreshold=0.85

或者,您可以使用以下属性禁用自我保存模式。

eureka.enableSelfPreservation=false

注意 基本上,所有Eureka客户端都会在关闭时自行注销。如果成功注销自己,则不会发生上述问题。

不幸的是,有时基于Spring Cloud的Eureka客户端在关闭时不会注销自己,并且症状因Spring Cloud版本而异。在大多数情况下,Dalston和Edgware版本会很好地取消注册。但是Finchley发行版现在似乎并未注销。

此外,您开始在Eureka环境中运行许多实例,上述消息将消失,因为仅一个或两个实例关闭就不会达到阈值。

您可以找到有关自我保存模式here

的更多信息