Spring Netflix LoadBalancing规则比较

问题描述 投票:4回答:1

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

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

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

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

非常感谢

spring spring-boot load-balancing spring-cloud spring-cloud-netflix
1个回答
1
投票

visit source了解更多信息,以及不同的规则。

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

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

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

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

选择一个使用财产

  service-id:
    ribbon:
      NFLoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule
© www.soinside.com 2019 - 2024. All rights reserved.