从0开始搭建springcloud---Ribbon

本文讲解SpringCloud组件中的Ribbon组件,使用Ribbon调用用户微服务。如下图所示。
从0开始搭建springcloud---Ribbon_第1张图片

1. Ribbon简介

Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。
在Spring Cloud中,当Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者实例。展示了Ribbon与Eureka配合使用时的架构。

2. 代码配置

2.1 pom.xml

从0开始搭建springcloud---Ribbon_第2张图片

2.2 Application.java

配置@EnableEurekaClient注解和@LoadBalanced
从0开始搭建springcloud---Ribbon_第3张图片

2.3 application.yml

从0开始搭建springcloud---Ribbon_第4张图片

策略选择:
1、如果每个机器配置一样,建议设置RoundRobinRule
2、如果部分机器配置强,则可以改为 WeightedResponseTimeRule

2.4 业务代码

从0开始搭建springcloud---Ribbon_第5张图片

这样就配置完成,启动项目可以自行测试

3. Ribbon源码分析

  1. 首先从注册中心获取provider的列表
  2. 通过一定的策略选择其中一个节点
  3. 再返回给restTemplate调用

你可能感兴趣的:(springcloud,微服务,Ribbon,springcloud)