一、简介
客户端负载均衡的工具。
它也进入了维护模式。
Nginx:服务器负载均衡。大量的客户端请求由Nginx转发。(集中式LB(LB即负载均衡))
Ribbon:本地负载均衡。注册信息缓存在本地JVM,由本地决定每个请求去远程调用哪个接口。(进程内LB)
它是个软负载均衡:软件实现负载均衡就是软负载均衡。
Ribbon工作步骤:
- 选择Eureka Server,Ribbon优选同一区域内负载均衡较少的 Eureka Server
- 根据用户指定的策略,从Server取到的服务注册列表中选择一个地址。
二、Ribbon核心组件IRule
IRule :根据 核心算法 从服务列表中选取一个要访问的服务
2.1 演示随机规则
1. 项目结构
2. 创建Ribbon配置类
注意:自定义配置类,目的就是做特殊化、定制化的配置。所以不能够与启动类在同一包下,或者启动类的子包下,否则会被所有的Ribbon客户端共享。
@Configuration
public class MySelfRule {
@Bean
public IRule myRule(){
return new RandomRule(); //随机规则
}
}
3. 修改启动类,添加@RibbonClient
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
public class OrderMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderMain80.class, args);
}
}