首页 > 其他 > 详细

5、Ribbon负载均衡策略

时间:2020-09-10 12:52:54      阅读:66      评论:0      收藏:0      [点我收藏+]

Ribbon 的负载均衡策略是有IRule接口定义,该接口如下实现:
技术分享图片

RoundRobinRule 轮询
RandomRule 随机
AvailabilityFilterRule 先过滤掉由于多次访问故障的服务,以及并发连接数超过阈值的服务,然后对剩下的服务按照轮询策略进行访问
WeightedResponseTimeRule 根据平均响应时间计算所有服务的权重,响应时间越快服务权重越大被选中的概率就越高,如果服务刚启动是统计信息不足,则使用RoundRobinRule 策略,待统计信息足够,会切换到该WeightedResponseTimeRule 策略
RetryRule 先按照RoundRobinRule 策略分发,如果分发到的服务补鞥呢访问,则指定时间内进行重试,分发其他可用的服务
BestAvailableRule 先过滤掉由于多次访问故障的服务,然后选择一个并发量最小的服务
ZoneAvoidanceRule 综合判断服务节点所在区域的性能和服务节点的可用性,来决定选择哪个服务

配置Ribbon负载均衡策略

//配置文件
@Configuration
public class BeanConfig {
    /**
     * @Bean 等价于 <bean id="restTemplate" class="xxx.xxx.RestTemplate"/>
     *
     * @return
     */
    @LoadBalanced  //使用Ribbon实现负载均衡的调用
    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

    /**
     * 覆盖掉原来ribbon默认的轮询负载均衡策略
     * @return
     */
    @Bean
    public IRule iRule(){
        return new RandomRule(); //随机负载均衡
    }
}

5、Ribbon负载均衡策略

原文:https://www.cnblogs.com/Ryuichi/p/13416773.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!