首页 > 编程语言 > 详细

Spring Cloud Ribbon(2) ——负载均衡策略

时间:2021-03-08 09:40:00      阅读:23      评论:0      收藏:0      [点我收藏+]

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://docs.spring.io/spring-cloud-netflix/docs/2.2.7.RELEASE/reference/html/#customizing-the-ribbon-client-by-setting-properties

技术分享图片

Spring Cloud Ribbon(2) ——负载均衡策略

原文:https://www.cnblogs.com/wind-ranger/p/14497619.html

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