1.Ribbon
参考:尚硅谷
1.1Ribbon的负载均衡策略
1.轮询RoundRobinRule:按照服务列表轮流选择(默认)
2.随机RandomRule:按照服务列表随机选择
3.RetryRule:先按照RoundRobinRule获取服务,如果获取服务失败则在指定时间内进行重试,获取可用的服务。
4.WeightedResponseTimeRule 对RoundRobinRule的扩展,响应速度越快实例选择权重越大,越容易被选择。
5.BestAvailableRule:会过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务
6.AvailabilityFilteringRule:先过滤掉故障实例,在选择并发量较小的实例。
7.ZooAvoidanceRule:默认规则,复合判断server所在区域的性能和server的可用性选择服务器。
1.2Ribbon负载均衡替换
这个配置类不能放在@ComponentScan所扫描的当前包以及子包下否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的了。
主启动类上面的@SpringBootApplication注解上面有@ComponentScan注解,所以这个启动类所在的包及其子包都是在@CompentScan这个注解的扫描范围内。
所以我们要另外在这个包之外再建一个包。
然后在这个Myrule配置类里写上新的负载均衡的规则。
@Configuration
public class Myrule {