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云支持的微服务休息客户端的配置是否通用?
答案 0 :(得分:1)
您可以对Eureka客户端进行以下更改,以在启动期间获取注册表并在本地缓存它。初始获取后,Eureka客户端将获取delta:
eureka:
client:
fetchRegistry: true