Spring Cloud Ribbon 是基于NetFlix Ribbon实现的一套客户端 负载均衡的工具.主要功能提供客户端的软件负载均衡算法和服务调用.
稳定版本
2.2.1.RELEASE
客户端集成Ribbon,通过restemplate + @LoadBalanced 实现负载均衡
IRule 负载均衡算法
轮询(默认) : RoundRobinRule
随机 : RandomRule
策略 : RetryRule
轮询扩展 : WeightedResponseTimeRule
取优 : BestAvailableRule
过滤 : AvailabilityFilteringRule
复合 : ZoneAvoidanceRule
自定义规则
! 注意,自定义规则不能再ComponentScan扫描的包同级及以下
- 自定义Irule 并加入到容器
@Configuration
public class MySelfRule {
@Bean
public IRule myRule() {
return new RandomRule();
}
}
- 在启动类加上定义规则(调取的服务名,自定义规则配置类)
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
手写Irule (CAS算法 + 自旋锁)
- 启动类加上自定义配置(配置类不要加在扫描包下)
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
- 编写IRule类实现 AbstractLoadBalancerRule(可参考RoundRobinRule类)
网友评论