以下是具体的配置
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule #这个是默认的开启轮询的负载均衡
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.BestAvailableRule #这个是最小的并发的一个server连接
# 过滤掉那些因为一直连接失败的被标记为circuit tripped的后端server,
# 并过滤掉那些高并发的的后端server(active connections 超过配置的阈值)
# 在这个demo中没有连接失败的端口和高并发的端口所以这个就默认为剩下的是轮询了
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule
# 根据响应时间分配一个weight,响应时间越长,weight越小,被选中的可能性越低。
# 在这个demo中响应时间是差不多的相差很小小 所以概率是差不多的
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule
# 对选定的负载均衡策略机上重试机制。
# 在一个配置时间段内当选择server不成功,则一直尝试使用subRule的方式选择一个可用的server
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule
# 复合判断server所在区域的性能和server的可用性选择server
# 使用ZoneAvoidancePredicate和AvailabilityPredicate来判断是否选择某个server,
# 前一个判断判定一个zone的运行性能是否可用,剔除不可用的zone(的所有server),
# AvailabilityPredicate用于过滤掉连接数过多的Server。
#product-server:
# ribbon:
# NFLoadBalancerRuleClassName: com.netflix.loadbalancer.ZoneAvoidanceRule