SpringCloud之Ribbon

简介

  分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器。

  Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供者地址后,可以将服务消费者请求均匀的分发。

Ribbon常用负载均衡策略

  Ribbon就属于进程内负载均衡,它只是一个类库,集成于Eureka Client进程,Eureka Client进程通过访问注册中心Eureka Server发现服务列表,发现的服务列表信息是由ribbon来管理的。

  当访问Application Service的时候,Application Client会通过ribbon来找到合适的Application Service地址信息,并发起远程调用请求。

  Ribbon的负载均衡策略是通过不同的类型来实现的,下表详细介绍一些常用负载均衡策略及对应的Ribbon策略类。

SpringCloud之Ribbon

Ribbon服务搭建

  1. 搭建Eureka注册中心

  2. 搭建服务提供者(多个)

  3. 搭建服务消费者

  4. 配置Ribbon服务

前三步搭建步骤:点击

1. 服务提供者搭建时,修改本机hosts文件:c:/windows/System32/drivers/etc

SpringCloud之Ribbon

对应服务提供者的application.yml配置文件的配置是

SpringCloud之Ribbon

另外两个分别为eureka2、eureka3

2. 服务消费者的Ribbon配置

主要是注解的配置,URL请求时配和RestTemplate类进行的,请求是从RestTemplate配置类开始发起的。

SpringCloud之Ribbon

添加这个注解后,它会使用默认的轮询方式,请求服务提供者进行消费

在服务调用接口类,需要通过服务名称进行调用,需要设置

 SpringCloud之Ribbon

服务名称是通过配置文件设置的

3. 启动测试

  启动Eureka注册服务、服务消费、多个服务提供者。然后请求服务消费接口。当轮询调用三个服务提供者,则搭建成功。

详情参考文档:https://www.springcloud.cc/spring-cloud-dalston.html