Spring Cloud Netflix Ribbon 作为一个客户端负载均衡器,内置了多种常用的负载均衡策略。这些策略都实现了 接口。 以下是 Ribbon 提供的 7 种常用负载均衡策略(算法): 1. 轮询策略 (RoundRobinRule) 原理:按照线性轮询的方式,依次从服务提供者列表中选择一个服务器。当选到最后一个后,再从第一个重新开始。 特点:最基础、最简单的策略,假设所有服务器的处理能力相同。 适用场景:集群中各个服务器硬件配置和网络环境大致相同的场景。 2. 随机策略 (RandomRule) 原理:利用随机数生成算法,从服务列表中随机挑选一个服务器。 特点:随着调用量的增大,其实际效果会越来越接近于轮询策略。 适用场景:服务器处理能力相近,且没有特殊路由要求的场景。 3. 重试策略 (RetryRule) 原理:它本身是对其他策略(默认是轮询 )的一种封装。首先按照底层的策略获取服务,如果获取失败(比如服务器不可用),则会在指定的时间内不断重试,直到获取到可用的服务器或超时。 特点:增加了容错机制。 适用场景:网络环境不稳定或服务偶尔会出现短暂波动的场景。 ...