【发布时间】:2018-02-13 08:09:06
【问题描述】:
Ribbon 是否缓存 Eureka 条目(为了避免对每个请求进行服务查找),如果是,它在 Spring Cloud 中是如何配置的?例如,像这样的 Feign 客户端如何为条目/刷新率/等配置生存时间:
@Bean
BookmarkClient bookmarkClient() {
return loadBalance(BookmarkClient.class, "http://bookmark-service");
}
我见过这样的spring boot配置条目:
eureka.instance.leaseRenewalIntervalInSeconds=1
eureka.instance.leaseExpirationDurationInSeconds=2
所以在这种情况下,似乎缓存会每秒检查一次 Eureka 是否有更改,并允许每个条目缓存条目存活 2 秒 IIUC?此外,就 spring-boot / spring cloud 和 Netflix REST 客户端而言,就访问客户端而言(Feign/RestTemplate 和各种注释组合),配置有什么不同吗?
例如我见过RestTemplate是这样配置的:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
Feign 客户端是否会使用与上述示例相同的缓存配置设置?换句话说,所有 Spring Cloud 支持的微服务休息客户端的配置是否通用?
【问题讨论】:
-
确实如此,这些设置是针对 eureka 客户端的,而不是功能区客户端的。
标签: java spring-mvc spring-boot spring-cloud netflix-eureka