zoukankan      html  css  js  c++  java
  • 5、Ribbon负载均衡策略

    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(); //随机负载均衡
        }
    }
    
  • 相关阅读:
    Rotate Image
    Color Sort
    Chapter 3: Binary Tree
    Different Ways to Add Parentheses
    最短路径问题
    Longest Palindromic Substring
    Word Break
    PCA和SVD简述
    Set Matrix Zeros
    星级评价
  • 原文地址:https://www.cnblogs.com/Ryuichi/p/13416773.html
Copyright © 2011-2022 走看看