Ribbon出厂提供的负载均衡策略

匿名 (未验证) 提交于 2019-12-02 23:03:14

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

备注:博客所有内容仅供自已学习和学习过程的记录,如有侵权,请联系我删除!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!