加了@LoadBalanced不能使用ip来调用远程接口

问题背景说明

之前在工作中写了一个定时任务,其中需要调用另一个模块的数据,于是我使用RestTemplate的方式进行调用,我在配置文件中配置了那个模块的地址(使用的是注册中心中的微服务名),并通过@Value的方式注入到使用的地方。本来没啥问题的,可是同事他在记录日志的时候,正好使用的也是那一个模块,他也是将那个模块的地址写在配置文件中,但是是使用的ip的形式,正好,他看见我这样写,就模仿我也使用微服务名来调用,他发现怎么也调用不成功,于是就改成了在代码中直接new一个RestTemplate的方式,但是配置文件中的url地址给我改成了使用ip的形式。今天我测试功能的时候发现我这个定时任务一直跑不起来,一看报错,说没有这个负载均衡实例。经过一段时间的思考与发现,看见配置文件中的配置给我改掉了,也就是原本是微服务名,给我改成了ip。于是报错,后来自己的思考,发现加了@LoadBalanced注解不能使用ip来调用。于是找到问题原因,后面就很容易解决掉了。

@LoadBalanced注解说明

在开发微服务应用的时候,难免会进行服务间的相互调用。一般我们会使用RestTemplate来进行远程调用。但是在将RestTemplate放入Spring容器的时候需要注意一个问题,如下

@Configuration
public class ApplicationContextConfig {
   
   
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值