“Ribbon 支持的负载均衡策略”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| 第25行: | 第25行: | ||
|-  | |-  | ||
|3  | |3  | ||
| − | |  | + | |随机策略(不推荐,测试使用,开发一般不使用)  | 
|RandomRule  | |RandomRule  | ||
|从 application service 列表中随机选择一个  | |从 application service 列表中随机选择一个  | ||
| + | |-  | ||
| + | |4  | ||
| + | |最少并发数策略(应用在硬件软件环境一致的情况下,中小型项目使用)  | ||
| + | |BestAvailableRule  | ||
| + | |选择正在请求中的并发数最小的 application service,除非这个 application service 在熔断中。  | ||
|}  | |}  | ||
2023年3月27日 (一) 07:19的版本
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 列表中随机选择一个 | 
| 4 | 最少并发数策略(应用在硬件软件环境一致的情况下,中小型项目使用) | BestAvailableRule | 选择正在请求中的并发数最小的 application service,除非这个 application service 在熔断中。 |