Spring Cloud Ribbon(2) ——负载均衡策略
时间:2021-03-08 09:40:00
收藏:0
阅读:28
1、策略类型
如下是Ribbon提供的策略接口IRule及其实现类 的UML图

常用策略介绍:
- RoundRobinRule——轮询策略(默认)
- RandomRule——随机策略
- WeightedResponseTimeRule——响应权重策略,轮询的子类,默认使用轮询,后续根据服务的响应时间决定
- BestAvailableRule——最优访问策略,根据被调用方并发数决定,即最少访问优先。如果服务的断路器打开,则忽略,再选择其中并发链接最低的服务
- RetryRule——重试策略,在一个配置时间段内,当选择的服务不成功,则一直尝试选择一个可用的服务
- ZoneAvoidanceRule——区域权重策略,综合判断服务所在区域的性能,和服务的可用性,轮询选择服务并且判断一个AWS Zone的运行性能是否可用,剔除不可用的Zone中的所有服务
2、策略配置
2.1、配置类方式
在EMP模块添加如下配置类即可
@Configuration
public class RibbonConfig {
@Bean
public IRule rule() {
return new RandomRule();
//return new RoundRobinRule();
//return new WeightedResponseTimeRule();
//return new BestAvailableRule();
}
}
2.2、配置文件方式(推荐)
在调用方yml文件中指定目标服务的负载均衡策略,此方式可单独指定每个服务的策略类型。配置如下:
DEPT: #目标服务名
ribbon:
#指定负载均衡策略
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
官网说明如下 :

原文:https://www.cnblogs.com/wind-ranger/p/14497619.html
评论(0)