Ribbon 支持的负载均衡策略

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2023年3月27日 (一) 07:17的版本
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1AN411Z7mx?p=15

Ribbon 的负载均衡策略是通过不同的类型来实现的,下表详细介绍一些常用负载均衡策略及对应的 Ribbon 策略类

id 策略名称 策略对应的类名 实现原理
1 轮询策略(默认) RoundRobinRule 轮询策略表示每次都按照顺序取下一个 application service,比如一共有5个 application service,

第1次取第1个,第2次取第2个,第3次取第3个,以此类推

2 权重轮询策略(常用,中小型项目使用) WeightedResponseTimeRule 1.根据每个 application service 的响应时间分配一个权重,响应时间越长,权重越小,被选中的可能性越低。

2.原理:一开始为轮询策略,并开启一个计时器,每30秒收集一次每个 application service 的平均响应时间,

当信息足够时,给每个 application service 附上一个权重,并按权重随机选择 application service,权重

越高的 application service 会被选中的概率越高。

3 随机策略(不推荐,测试使用,开发使用) RandomRule 从 application service 列表中随机选择一个