LB策略是啥

来源:1-2 什么是负载均衡?

psh

2020-05-17 17:41:13

如题

写回答

1回答

大目

2020-05-17

淘系的负载均衡器有很多种,LVS,VIPServer、HSF客户端侧负载均衡器等。

不同的组件,负载均衡算法不同。

对于Spring Cloud里面的Ribbon,默认的负载均衡算法是ZoneAvoidanceRule。

Ribbon内置的负载均衡算法如下:

  1. AvailabilityFilteringRule:过滤掉一直连接失败的被标记为circuit tripped的后端Server,并过滤掉那些高并发的后端Server或者使用一个AvailabilityPredicate来包含过滤server的逻辑,其实就就是检查status里记录的各个Server的运行状态;

  2. BestAvailableRule:选择一个最小的并发请求的Server,逐个考察Server,如果Server被tripped了,则跳过。

  3. RandomRule:随机选择一个Server;

  4. ResponseTimeWeightedRule:作用同WeightedResponseTimeRule,二者作用一样;

  5. RetryRule:对选定的负载均衡策略机上重试机制,在一个配置时间段内当选择Server不成功,则一直尝试使用subRule的方式选择一个可用的server;

  6. RoundRobinRule:轮询选择, 轮询index,选择index对应位置的Server

  7. WeightedResponseTimeRule:根据响应时间加权,响应时间越长,权重越小,被选中的可能性越低;

  8. ZoneAvoidanceRule:复合判断Server所在区域的性能和Server的可用性选择Server;


1

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程