No instances available for localhost。spring cloud消费者restTemplate+ribbon报错

最近准备把之前的分布式的项目由dubbo变为springcloud,今天创建一个spring cloud小demon的时候,启动消费者遇到一个问题。这里记录下来。

我这里customer是restTemplate+ribbon的测试案列,调用的时候出现了下图错误:

在这里插入图片描述
原因:

在这里插入图片描述
这里出错。是因为:
在这里插入图片描述
restTemplate加了@LoadBalanced的注解,表示需要做负载匀衡,这个注解在使用的时候会走类RibbonLoadBalancerClient,而做负载均衡的话就需要走注册表,就不能写域名直接调用,直接调用不经过注册中心那服务列表。所以,这里只能是写我们注册的服务名。也就是我们注册在eureka上的服务名。
在这里插入图片描述
改为上面写有url图片中的被注释的部分。

在这里,还有个需要特别注意的,我们在定义:application:
name:的时候命名一定不要又下划线,不要有下划线,不要有下划线。重要的事情说三遍。如下图。

在这里插入图片描述
这样会报错:
Request URI does not contain a valid hostname: http://EUREKA_CLIENT_PROVIDER

在这里插入图片描述

Logo

鸿蒙生态一站式服务平台。

更多推荐