1.简单轮询负载均衡(RoundRobinRule)
No available alive servers after 10 tries from load balancer: XXXX
。
2.加权响应时间负载均衡 (WeightedResponseTimeRule)
3.随机负载均衡 (RandomRule)
4.区域感知轮询负载均衡(ZoneAvoidanceRule)
5.选择一个最小的并发(BestAvailableRule)
6.过滤失败连接(AvailabilityFilteringRule)
7.重试功能(RetryRule)
choose(ILoadBalancer lb, Object key)
方法中,每次还是采用RoundRobinRule中的choose规则来选择一个服务实例,如果选到的实例正常就返回,如果选择的服务实例为null或者已经失效,则在失效时间deadline之前不断的进行重试(重试时获取服务的策略还是RoundRobinRule中定义的策略),如果超过了deadline还是没取到则会返回一个null。
8.过滤服务(PredicateBasedRule)
参考资料
1.https://lxlong.iteye.com/blog/2314573
2.https://segmentfault.com/a/1190000011159573
备注:博客所有内容仅供自已学习和学习过程的记录,如有侵权,请联系我删除!
文章来源: Ribbon出厂提供的负载均衡策略