SpringCloud Eureka自动剔除已关闭的服务

    如标题意思,我们在实际使用中,某个服务已经停止运行(关闭),eureka注册中心 还是会有该项服务的注册信息,因为eureka默认是开启自动保护,那我们不想使用这些功能,又不想手动去剔除或重启注册中心,那么,我们需要修改一下配置即可。修改项见如下:

    1. Eureka注册应用配置,application.properties修改如:

# 关闭自我保护,服务关闭后从列表中踢除,默认true,开启自我保护
eureka.server.enable-self-preservation=false
# 清理间隔(单位毫秒,默认是60*1000)
eureka.server.eviction-interval-timer-in-ms=60000

      2. Client端 或 Provider端 应用配置,application.properties修改如:

eureka.client.healthcheck.enabled=true//开启健康检查(需要spring-boot-starter-actuator依赖)
eureka.instance.lease-renewal-interval-in-seconds=10//租期更新时间间隔(默认30秒)
eureka.instance.lease-expiration-duration-in-seconds=30//租期到期时间(默认90秒)


PS:yaml文件 对应properties文件,请自行修改。

修改好后,我们启动项目,先启动Eureka注册服务,再启动Client或Provider端 应用,然后,关闭Client 或 Provider端 应用,等待一段时间后,可以发现注册中心会自动移除已经停止的应用服务。

 

posted @ 2021-02-25 14:51  JimmyShan  阅读(953)  评论(0编辑  收藏  举报