Spring Netflix LoadBalancing规则比较

我有一个关于使用
Spring-Cloud Netflix进行客户端负载平衡的问题.

启用负载平衡后,Ribbon将选择要调用的服务器.选择规则取决于所选择的IRule实现.

以下实现之间有什么区别:

> AvailabilityFilteringRule
> BestAvailableRule
> ClientConfigEnabledRoundRobinRule
> RoundRobinRule
> WeightedResponseTimeRule
> ZoneAvoidanceRule

非常感谢

最佳答案
visit source获取更多信息,以及不同的规则.

RoundRobinRule
此规则只是通过循环选择服务器.它通常用作默认规则或更高级规则的后备.

BestAvailableRule
跳过具有“跳闸”断路器的服务器的规则并选择
具有最低并发请求的服务器

AvailabilityFilteringRule
此规则将跳过被视为“电路跳闸”或具有高并发连接数的服务器.

WeightedResponseTimeRule
对于此规则,每个服务器根据其平均响应时间给予权重.响应时间越长,重量就越小.该规则随机选择服务器,其中可能性由服务器的权重决定.

选择一个使用财产

  service-id:
    ribbon:
      NFLoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule
点赞