学习负载均衡Ribbon时,启动项目报错No instances available for SPRINGCLOUD-PROVIDER-DEPT......

排错 专栏收录该内容
4 篇文章 0 订阅

学习内容

这块报的错误是在学负载均衡Ribbon时,启动项目后,客户端(消费者)去调用时产生的

报错详情

在这里插入图片描述

关于Ribbon的配置

导入相关的依赖

<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-ribbon -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--   Eureka服务提供者的jar包     -->
        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-eureka -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

application.yml配置

在这里插入图片描述
我的错误出现在这里,fetch-registry:必须是true,不能是false,为true时的意思是表示检索注册中心的所有服务。如果为false则无法发现服务

自定义Spring配置类:ConfigBean.java配置负载均衡实现RestTemplate

@Configuration // 相当于spring中的 applicationContext.xml
public class ConfigBean {

    /**
     *  配置负载均衡实现RestTemplate
     */
    @Bean
    @LoadBalanced    //实现 Ribbon 的注解
    public RestTemplate getRestTemplate() {
        return new RestTemplate();
    }
}

controller中业务

@RestController
public class DeptConsumerController {

    /**
     *  (url,实体:Map,Class<T> responseType)
     *  提供多种便捷访问远程http服务的方法,简单的Restful服务模板
     */
    @Autowired
    private RestTemplate restTemplate;

    private static final String REST_URL_PREFIX = "http://SPRINGCLOUD-PROVIDER-DEPT";

    @RequestMapping("/consumer/dept/list")
    public List<Dept> list(){
        return restTemplate.getForObject(REST_URL_PREFIX + "/dept/list", List.class);
    }
}

启动查看结果

在这里插入图片描述

  • 4
    点赞
  • 4
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页

打赏作者

Surplus...

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值