功能介绍
基本保证每个服务不同的ip接收到的请求数量是一样的,确保在微服务下没有没有那个服务器负载过多而另外一个闲置。
IRule:根据规则获取制定的服务
规则列表
RoundRobinRule:轮询
RandomRule:随机
RetryRule:先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试,获取可用的服务
WeightedResponseTimeRule:对RoundRobinRule的扩展,响应速度越快的实例选择权重越大,越容易被选择
BestAvailableRule:会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务
AvailabilityFilteringRule:先过滤掉故障实例,再选择并发较小的实例
ZoneAvoidanceRule:默认规则,复合判断server所在区域的性能和server的可用性选择服务器
修改规则
//设置规则为RandomRule @Configuration public class MySelfRibbonRule { @Bean public IRule myRule() { return new RandomRule();//定义为随机 } } //启动类配置负载均衡配置器 @RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration= MySelfRibbonRule.class)
原文链接:https://blog.csdn.net/qq_41539088/article/details/127681581