Ribbon内置了多种负载均衡策略:
-
轮询策略(com.netflix.loadbalancer.RoundRobinRule)
-
随机策略(com.netflix.loadbalancer.RandomRule)
-
重试策略(com.netflix.loadbalancer.RetryRule):在一个配置时间段内(超时时间),当选择服务实例不成功,则一直尝试选择一个可用的服务实例。
-
权重策略(com.netflix.loadbalancer.WeightedResponseTimeRule):会计算每个服务的权重,越高的被调用的可能性越大。
-
最佳策略(com.netflix.loadbalancer.BestAvailableRule):遍历所有的服务实例,过滤掉故障实例,并返回请求数最小的实例。
-
可用过滤策略(com.netflix.loadbalancer.AvailabilityFilteringRule):过滤掉故障和请求数超过阈值的服务实例,再从剩下的实力中轮询调用
负责均衡策略是可以通过配置文件进行修改的
#需要调用的微服务名称
provider-server:
ribbon:
#设置使用哪一种负载均衡策略类(这里使用随机策略类)
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule