Spring Netflix LoadBalancing规则比较

时间:2017-05-25 15:55:55

标签: spring spring-boot load-balancing spring-cloud spring-cloud-netflix

我对使用Spring-Cloud Netflix进行客户端负载平衡有疑问。

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

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

  • AvailabilityFilteringRule
  • BestAvailableRule
  • ClientConfigEnabledRoundRobinRule
  • RoundRobinRule
  • WeightedResponseTimeRule
  • ZoneAvoidanceRule

非常感谢

1 个答案:

答案 0 :(得分:1)

visit source,以获取更多信息和不同的规则。

RoundRobinRule 该规则仅通过循环选择服务器。它通常用作默认规则或更高级规则的后备。

BestAvailableRule 跳过带有“跳闸”断路器的服务器并选择 并发请求最少的服务器。

AvailabilityFilteringRule 该规则将跳过被认为“电路跳闸”或并发连接计数较高的服务器。

WeightedResponseTimeRule 对于此规则,将根据其平均响应时间为每个服务器赋予权重。响应时间越长,重量就越少。该规则会随机选择一台服务器,可能性取决于服务器的权重。

选择一个使用属性

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