SpringCloud 整合Ribbon细粒度配置自定义
文章目录
- Ribbon内置负载均衡规则,细粒度配置自定义
- 1. 需求分析
- 2. java代码配置
- 2.1. 创建一个类
- 2.2. 然后创建一个类
- 3. 配置文件配置
Ribbon内置负载均衡规则,细粒度配置自定义
默认的ZoneAvoidanceRule在没有Zone的环境下。类似于轮询(RoudRobinRule)
1. 需求分析
假设内容中心同时调用2个微服务,
用户中心A 用随机规则,调用用户中心B采用默认的轮询规则
2. java代码配置
2.1. 创建一个类
@Configuration
@RibbonClient(name = "user-center",configuration = RibbonConfiguration.class )
public class UserCenterRibbonConfiguration {
}
2.2. 然后创建一个类
@Configuration
public class RibbonConfiguration {@Beanpublic IRule ribbonRandomRule(){return new RandomRule();}
}
3. 配置文件配置
Ribbon默认负载均衡策略采用:轮训
大白话:一人一次
想改变Ribbon默认负载均衡策略:
采用配置来修改:
格式:<serverNme>ribbon.NFLoadBalancerRuleClassName=策略类的全路径
例如:
将默认的轮训策略修改为随机策略
user-center:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule