Spring Netflix LoadBalancing 规则对比

Spring Netflix LoadBalancing rules comparison

我有一个关于 Spring-Cloud Netflix 的客户端负载平衡的问题。

启用负载均衡后,Ribbon 会选择一个服务器进行调用。选择规则取决于所选择的 IRule 实现。

以下实现之间的区别是什么:

非常感谢

visit source 了解更多信息和不同的规则。

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

BestAvailableRule 跳过具有 "tripped" 断路器的服务器并选择 并发请求最少的服务器。

AvailabilityFilteringRule 此规则将跳过被视为 "circuit tripped" 或具有高并发连接数的服务器。

加权响应时间规则 对于这个规则,每个服务器根据其平均响应时间被赋予一个权重。响应时间越长,它获得的权重就越小。该规则随机选择一个服务器,可能性由服务器的权重决定。

选择一项使用 属性

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