服务发现疑问

来源:6-3 使用Ribbon实现负载均衡

杰9407987

2020-09-16

老师你好,视频中说ribbon会自动根据地址http://user-center/xxx中的user-center找到注册中心中配置的相应地址,那如果我的代码是通过resttemplate去调用一个第三方系统的一个api,比如:restTemplate.getForObject(http://testaddress/xxx),那么ribbon岂不是会根据restaddress去注册中心找,找不到然后报错,但是实际上testaddress是第三方系统的一个地址,没有在注册中心的,这种应该怎么处理呢?

写回答

1回答

大目

2020-09-16

如果你的项目又要请求注册中心的服务,又要请求绝对的URL,需要这么玩:

@LoadBalanced
@Bean
public RestTemplate ribbonRestTemplate(){
  return new RestTemplate();
}

@Bean
public RestTemplate urlRestTemplate(){
  return new RestTemplate();
}

调用时:
// 用来调用注册中心里面的API
@Autowired
private RestTemplate ribbonRestTemplate;

// 用来调用非注册中心的API
@Autowired
private RestTemplate urlRestTemplate;


3
1
杰9407987
非常感谢!
2020-09-16
共1条回复

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3114 学习 · 1326 问题

查看课程