【问题标题】:When closing a Eureka Clients, the RestTemplate with @LoadBalanced will continue call the closing service, how fixed it?关闭 Eureka Clients 时,带有@LoadBalanced 的 RestTemplate 会继续调用关闭服务,如何解决?
【发布时间】:2017-11-14 23:53:32
【问题描述】:
我使用 Eureka 和 Spring Cloud;
启动 2 个 Eureka 客户端;
关闭一个Eureka Clients时,Eureka客户端从Eureka服务器注销需要一点时间(3-5分钟);
带有@LoadBalanced 的RestTemplate 会继续调用关闭服务,怎么解决的?
【问题讨论】:
标签:
spring-cloud
netflix-eureka
spring-cloud-netflix
【解决方案1】:
我相信 Eureka 客户端应用程序不会通过 Eureka 服务器为每个请求获取有关另一个 Eureka 客户端应用程序的元数据。这意味着Eureka 客户端应用会保留注册表缓存,如果另一个Eureka 客户端应用注销,其元数据可能仍会缓存在前一个客户端中,直到它与Eureka 服务器同步。
此行为可以通过以下设置之一或组合进行配置:
eureka:
instance:
registryFetchIntervalSeconds:
leaseRenewalIntervalInSeconds:
leaseExpirationDurationInSeconds: