Fab*_*ner 1 spring-boot netflix-eureka
我使用 spring-boot 和 eureka 客户端创建一个项目(我的 eureka 服务器中注册了另外 2 个项目),因此要访问我在应用程序中创建的其他 2 个项目,需要创建一个 RestTemplate,如下所示:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
Run Code Online (Sandbox Code Playgroud)
所以,现在当我尝试访问我的一个项目时,我只输入“ http://my-project1/ ”或“ http://my-project2/ ”的url,然后尤里卡服务器为我解析该url。
但现在我需要从我的范围之外调用休息(例如邮政编码服务),所以如果我输入:
return restTemplate.getForObject("https://viacep.com.br/ws/11380120/json", String.class);
Run Code Online (Sandbox Code Playgroud)
不起作用,因为 viacep.com 不在我的范围内,可以解决这个问题吗?
小智 6
在这种情况下,您将必须创建另一个未负载平衡的 RestTemplate。
@Bean("rawRestTemplate")
public RestTemplate restTemplate() {
return new RestTemplate();
}
Run Code Online (Sandbox Code Playgroud)
要调用任何未在 Eureka 中注册的服务,请使用非负载平衡的 RestTemplate。因为,使用负载平衡休息模板,它将始终尝试从 Eureka 注册表解析服务。
| 归档时间: |
|
| 查看次数: |
7247 次 |
| 最近记录: |