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 {
@Bean
public IRule ribbonRandomRule(){
return new RandomRule();
}
}
3. 配置文件配置
格式:<serverNme>ribbon.NFLoadBalancerRuleClassName=策略类的全路径
user-center:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule