Ribbon 是否缓存 Eureka 条目?
Does Ribbon cache Eureka entries?
Ribbon 是否缓存 Eureka 条目(为了避免为每个请求查找服务),如果是,它是如何在 Spring Cloud 中配置的?例如,像这样的 Feign 客户端将如何配置条目/刷新率/等的生存时间:
@Bean
BookmarkClient bookmarkClient() {
return loadBalance(BookmarkClient.class, "http://bookmark-service");
}
我见过 spring 像这样的引导配置条目:
eureka.instance.leaseRenewalIntervalInSeconds=1
eureka.instance.leaseExpirationDurationInSeconds=2
所以在这种情况下,缓存似乎会每秒检查一次 Eureka 是否有更改,并允许每个条目缓存条目存在 2 秒 IIUC?另外,就 spring-boot / spring 云和 Netflix REST 客户端而言,就访问客户端而言,配置是否存在差异(Feign/RestTemplate 和各种注释组合)?
例如我看到 RestTemplate
配置如下:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
Feign 客户端会使用与上述示例相同的缓存配置设置吗?换句话说,配置是否适用于所有 Spring 云支持的微服务其余客户端?
您可以对Eureka 客户端进行如下更改,以在启动时获取注册表并缓存到本地。初始获取后,Eureka 客户端将获取 delta:
eureka:
client:
fetchRegistry: true
Ribbon 是否缓存 Eureka 条目(为了避免为每个请求查找服务),如果是,它是如何在 Spring Cloud 中配置的?例如,像这样的 Feign 客户端将如何配置条目/刷新率/等的生存时间:
@Bean
BookmarkClient bookmarkClient() {
return loadBalance(BookmarkClient.class, "http://bookmark-service");
}
我见过 spring 像这样的引导配置条目:
eureka.instance.leaseRenewalIntervalInSeconds=1
eureka.instance.leaseExpirationDurationInSeconds=2
所以在这种情况下,缓存似乎会每秒检查一次 Eureka 是否有更改,并允许每个条目缓存条目存在 2 秒 IIUC?另外,就 spring-boot / spring 云和 Netflix REST 客户端而言,就访问客户端而言,配置是否存在差异(Feign/RestTemplate 和各种注释组合)?
例如我看到 RestTemplate
配置如下:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
Feign 客户端会使用与上述示例相同的缓存配置设置吗?换句话说,配置是否适用于所有 Spring 云支持的微服务其余客户端?
您可以对Eureka 客户端进行如下更改,以在启动时获取注册表并缓存到本地。初始获取后,Eureka 客户端将获取 delta:
eureka:
client:
fetchRegistry: true