《SpringCloud超级入门》Eureka开发时快速移除失效服务《十五》

Posted java李杨勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《SpringCloud超级入门》Eureka开发时快速移除失效服务《十五》相关的知识,希望对你有一定的参考价值。

在实际开发过程中,我们可能会不停地重启服务,由于 Eureka 有自己的保护机制,故节点下线后,服务信息还会一直存在于 Eureka 中。我们可以通过增加一些配置让移除的速度更快一点,当然只在开发环境下使用,生产环境下不推荐使用。

首先在我们的 eureka-server 中增加两个配置,分别是关闭自我保护和清理间隔:

eureka.server.enable-self-preservation=false
# 默认 60000 毫秒
eureka.server.eviction-interval-timer-in-ms=5000

然后在具体的客户端服务中配置下面的内容:

eureka.client.healthcheck.enabled=true
# 默认 30 秒
eureka.instance.lease-renewal-interval-in-seconds=5
# 默认 90 秒
eureka.instance.lease-expiration-duration-in-seconds=5

eureka.client.healthcheck.enabled 用于开启健康检查,需要在 pom.xml 中引入 actuator 的依赖,代码如下所示。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

其中:

  • eureka.instance.lease-renewal-interval-in-seconds 表示 Eureka Client 发送心跳给 server 端的频率。
  • eureka.instance.lease-expiration-duration-in-seconds 表示 Eureka Server 至上一次收到 client 的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则移除该 Instance。


更多的 Instance 配置信息可参考源码中的配置类:

org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean。

更多的 Server 配置信息可参考源码中的配置类:

org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean。

上一篇 Eureka自我保护模式和InstanceID的配置

下一篇介绍 Eureka的REST API及API扩展

以上是关于《SpringCloud超级入门》Eureka开发时快速移除失效服务《十五》的主要内容,如果未能解决你的问题,请参考以下文章

《SpringCloud超级入门》使用Eureka编写服务提供者《十》

《SpringCloud超级入门》使用Eureka编写注册中心服务《九》

《SpringCloud超级入门》使用Eureka编写服务提供者《十》

《SpringCloud超级入门》Eureka注册中心开启密码认证《十二》

《SpringCloud超级入门》Eureka注册中心开启密码认证《十二》

《SpringCloud超级入门》Spring Cloud Eureka是什么?《八》