我有一个关于使用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