feign报UnknownHostException:服务名解决方案

这是博主的一个demo,是一个nacos-feign服务,全家桶版本如下:

  • cloud版本:2021.0.4
  • cloud-alibaba版本:2021.0.4.0
  • spring-boot版本:2.6.11

这应该是编写的时候最新的一个全家桶版本

OK 此时你运行毫无问题,但是一旦服务之间调用就会出错,此时错误应该有二种,最笨比的就是当前这种,如果报另一个错误他会告诉你缺了啥。

//简写了反正核心就这几句话
GET [http://a-server/search] root cause;
java.net.UnknownHostException:a-server;
... lookupAllHostAddr...

只要你的错误和我一致首先你要排查字面意思的问题。
1、注册中心已经被注册?
2、@FeignClient()的服务名是否与yml的spring-application-name一致
3、启动类是否添加@EnableFeignClients或另一个
4、单独调用服务可以被调用成功(无需服务之间调用)

此时你就不要在纠结了!!!!!你的问题与我一样!!!

就是高版本换了负载均衡逻辑ribbon,需要添加新的负载均衡loadbalancer。【不敢乱说,但是好像是cloud的Hoxton.SR12以后】

此时在父工程的全局jar添加一下

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

再次启动完美调用完美解决。

本文作者:Ch1ee

本文链接:https://www.cnblogs.com/daimourentop/p/17027928.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Ch1ee  阅读(2252)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起