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