一、前言
在Ribbon
组件中,一共提供了7种负载均衡策略规则,默认使用轮训规则RoundRobinRule
:
-
最低并发策略BestAvailableRule: 选择最小请求数
-
可用过滤策略(AvailabilityFilteringRule): 过滤掉连接失败的服务节点,并且过滤掉高并发的服务节点,然后从健康的服务节点中,使用轮询策略选出一个节点返回。
-
随机策略 RandomRule : 随机选择一个server
-
轮询策略 RoundRobinRule: 轮询选择server(Ribbon默认策略)
-
重试策略 RetryRule : 根据轮询的方式重试
-
权重策略WeightedResponseTimeRule (响应时间加权策略): 根据响应时间去分配一个weight ,weight越低,被选择的可能性就越低
-
区域权衡策略ZoneAvoidanceRule: 根据server的zone区域和可用性来轮询选择
二、负载均衡分类
- 硬件负载均衡:F5,价格昂贵不考略在内
- 服务端负载均衡:nginx、lvs
- 客户端负载均衡:ribbon