openFeign中的坑

问题:使用openFeign,调用微服务报Load balancer does not have available server for client

显而易见,这个问题是由于OpenFeign调用Ribbon,Ribbon去Eureka服务端拉取注册表信息找不到我们想要的微服务名称。
下面就跟着我来排查问题。

步骤一:查看Eureka客户端的pom文件是否引入了eureka-client、Ribbon和openfeign的依赖。

openFeign中的坑_第1张图片

步骤二:打开Eureka的页面查看是否注册。

openFeign中的坑_第2张图片
我这里是OPENFEIGN-CHENG服务调用PROVIDER服务,两个微服务都已注册,且正常运行中。如果我们请求的那个微服务在注册中心没注册,那么,我们就要检查那个微服务的依赖是否正常、主启动类上的注解是否有@EnableEurekaClient。

步骤三:检查@FeignClient注解上的名称和被调用的微服务名称是否一致。

openFeign中的坑_第3张图片
openFeign中的坑_第4张图片

步骤四:考虑到yml有些人是复制的,注意,前后空格,检查spring.application.name值的前后端是否有空格,检查Eureka的配置信息,如下。

openFeign中的坑_第5张图片

步骤五:Eureka的客户端和服务端的注解要严格区分。如下

openFeign中的坑_第6张图片
openFeign中的坑_第7张图片

步骤六:查看防火墙是否关闭。本人就卡在这一步!贼坑爹

步骤七:检查请求客户端的方法名和被请求的微服务方法名和映射地址是否一致

openFeign中的坑_第8张图片
openFeign中的坑_第9张图片

你可能感兴趣的:(微服务,Java,聊聊开发中的坑,eureka,spring,cloud,java,微服务)