SpringCloud之Ribbon
简介
分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器。
Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供者地址后,可以将服务消费者请求均匀的分发。
Ribbon常用负载均衡策略
Ribbon就属于进程内负载均衡,它只是一个类库,集成于Eureka Client进程,Eureka Client进程通过访问注册中心Eureka Server发现服务列表,发现的服务列表信息是由ribbon来管理的。
当访问Application Service的时候,Application Client会通过ribbon来找到合适的Application Service地址信息,并发起远程调用请求。
Ribbon的负载均衡策略是通过不同的类型来实现的,下表详细介绍一些常用负载均衡策略及对应的Ribbon策略类。
Ribbon服务搭建
搭建Eureka注册中心
搭建服务提供者(多个)
搭建服务消费者
- 配置Ribbon服务
前三步搭建步骤:点击
1. 服务提供者搭建时,修改本机hosts文件:c:/windows/System32/drivers/etc
对应服务提供者的application.yml配置文件的配置是
另外两个分别为eureka2、eureka3
2. 服务消费者的Ribbon配置
主要是注解的配置,URL请求时配和RestTemplate类进行的,请求是从RestTemplate配置类开始发起的。
添加这个注解后,它会使用默认的轮询方式,请求服务提供者进行消费
在服务调用接口类,需要通过服务名称进行调用,需要设置
服务名称是通过配置文件设置的
3. 启动测试
启动Eureka注册服务、服务消费、多个服务提供者。然后请求服务消费接口。当轮询调用三个服务提供者,则搭建成功。
详情参考文档:https://www.springcloud.cc/spring-cloud-dalston.html