spring cloud feign如何定制负载均衡策略

feign其实不是做负载均衡的,负载均衡是ribbon的功能,feign只是集成了ribbon而已,但是负载均衡的功能还是feign内置的ribbon再做,而不是feign。
feign的作用的替代RestTemplate,性能比较低,但是可以使代码可读性很强。

ribbon的负载均衡策略,默认的常见有随机规则,轮询规则,权重规则
随机不用说,轮询也不用说,权重意思是,请求时间越久的server,其被分配给客户端使用的可能性就越低。
ribbon也可以自定义策略。具体方法包括:
方法1.实现IRule接口
方法2.集成AbstractLoadBalancerRule 、PredicateBasedRule。

只要在配置中自动注入自定义的策略bean就可以

Java code
 
@Bean
  public IRule ribbonRule() {
    // 负载均衡规则,改为随机
    return new RandomRule();
  }


当然你也可能会向使用配置的方式而非代码方式。
但是记住,配置方式优先级要大于代码方式。

posted @ 2021-05-05 14:33  goodgoodlearn  阅读(1823)  评论(0)    收藏  举报