SpringCloud学习遇到的坑,通过Eureka中已经注册的服务名,调用不了已经注册的服务

前提:服务提供者8001已经成功注册到eureka


Image.png

但是根据服务名称调用接口时,失败

private static final String PAYMENT_URL =  "http://CLOUD-PAYMENT-SERVICE";      //集群配置
@Resource
private RestTemplate restTemplate;

@GetMapping(value="/consumer/payment/zipkin")
public String paymentZipkin() {
    return restTemplate.getForObject(PAYMENT_URL +  "/payment/zipkin",String.class);
}

image.png

原因是
在使用RestTemplate的时候,千万别忘了加@LoadBalance注解

@Configuration
public class ApplicationContextConfig {
    @Bean
    @LoadBalanced   //使用@LoadBalanced注解赋予RestTemplate负载均衡的能力
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容