SpringCloud 自定义Ribbon策略定义

    SpringCloud中 提供了@FeignClient来调用provider项目的接口,@FeignClient默认的ribbon策略是使用RoundRobin循环调用,当想自定义ribbon策略的时候只需要实现ribbon的IRule接口即可  


MySelfRule2.class为负载均衡配置类

SpringCloud 自定义Ribbon策略定义_第1张图片

 将IRule实现的bean暴露出去后会自动使用该负载均衡策略,如果定义了循环和随机两个策略,会自动选择循环策略,不需要显示用注解@RibbonClient  

    下面的方法使用ribbonClient注解不会生效,mark一下,有时间看看源码

SpringCloud 自定义Ribbon策略定义_第2张图片
但是将@RibbonClient(name = "spring-cloud-producer",configuration= {MySelfRule.class})
注解放在项目启动类上是可以生效的,MySelfRule类可以不需要定义成Bean
但是还是无法为项目中的接口单独定义负载均衡策略

你可能感兴趣的:(springcloud)