ribbon 初体验

作者: 木山手札 | 来源:发表于2020-02-09 13:27 被阅读0次

    配置

    • 引入相关依赖
          <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
            </dependency>
    
    • @LoadBalanced声明RestTemplate使用负载均衡
        @Bean
        @LoadBalanced
        public RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
    • 常见配置
    ribbon:
      eager-load: # 饿汉加载
        enabled: true
      ReadTimeout: 2000 # 默认5s
      ConnectTimeout: 2000 # 默认2s
      MaxAutoRetries: 1 # 重试次数
      NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡策略
    
    1. ribbon在客户端负载均衡时默认是懒汉加载机制,实际请求时才会创建
    2. ribbon的配置可以针对特定的服务进行配置,没有指定特定服务,将全局生效

    负载均衡策略

    RandomRule 随机策略
    RoundRobinRule 轮训策略,按顺序选择server
    RetryRule 重试策略,在一个时间段内选择server不成功,则尝试选择一个可用server
    BestAvailableRule 最低并发策略,从断路器关闭的server中选择并发连接数最低的,
    AvailabilityFilteringRule 可用过滤策略
    ResponseTimeWeightedRule 响应时间策略,根据server响应时间分配权中,响应时间长权重低,被选择的概率就低
    ZooeAvoidanceRule 区域权衡策略,根据Zone选择(AWS Zone)

    配置类

    CommonClientConfigKey

    相关文章

      网友评论

        本文标题:ribbon 初体验

        本文链接:https://www.haomeiwen.com/subject/zxwgxhtx.html