如标题意思,我们在实际使用中,某个服务已经停止运行(关闭),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端 应用,等待一段时间后,可以发现注册中心会自动移除已经停止的应用服务。