springcloud(三)

springcloud 专栏收录该内容
6 篇文章 0 订阅

springcloud — ribbon组件

ribbon:当服务消费方同时存在多个服务提供方法我们需要自定义一个负载均衡算法来选择合适的服务提供方,但是 springcloud为我们提供了一个负载均衡算法 ribbon 节省了我们的时间,提高了开发效率。

在这里插入图片描述

ribbon操作方法十分简单 : 在服务的消费方进行操作
	@LoadBalanced:启用 ribbon 注意该注解所在的位置
1.导入依赖
	ribbon不需要导入任何依赖因为 eureka 中已经集成了 ribbon 依赖
	
2.启动类
@SpringBootApplication
@EnableDiscoveryClient //启用eureka
public class ApplicationConsumer {
    public static void main(String[] args){
        SpringApplication.run(ApplicationConsumer.class);
    }
    @Bean
    @LoadBalanced //启用负载均衡
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

3.controller中
@Controller
@RequestMapping(value = "/consumer/user")
public class ConsumerController {

    @Autowired
    private RestTemplate restTemplate;

    /**
     * 获取服务列表
     */
   /* @Autowired
    private DiscoveryClient discoveryClient;*/

    @RequestMapping(value = "/get")
    @ResponseBody
    public String getProvider(){
        /**
         * 根据微服务名称获取服务列表,因为此时 service-provider 中只有端口号为8081的一个服务所以 instances.get(0)
         */
        /*List<ServiceInstance> instances = discoveryClient.getInstances("service-provider");
        ServiceInstance instance = instances.get(0);*/
        //return this.restTemplate.getForObject("http://localhost:8081/provider/user/get",String.class);
        //return this.restTemplate.getForObject("http://"+instance.getHost()+":"+instance.getPort()+ "/provider/user/get",String.class);
         return this.restTemplate.getForObject("http://service-provider/provider/user/get",String.class);
    }
}

在这里插入图片描述

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值