自定义Ribbon的负载均衡


参考:http://www.idouba.net/netflix-source-ribbon-rule/?utm_source=tuicool&utm_medium=referral

Spring Cloud还可以通过使用@RibbonClient声明其他配置(在RibbonClientConfiguration之上)来完全控制客户端。 例:

/**
* 自定义Ribbon的负载均衡
*
*/

@Configuration
public class RibbonConfig {

@Autowired
IClientConfig config;

@Bean
@ConditionalOnMissingBean
public IRule ribbonRule(IClientConfig config) {
System.out.println("随机的。。。。");
return new RandomRule();
}

}
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "springcloud-userservcie", configuration = RibbonConfig.class)
public class SpringCloudUserClientApplication {

@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}

public static void main(String[] args) {
SpringApplication.run(SpringCloudUserClientApplication.class, args);
}
}
@RibbonClient(name = "springcloud-userservcie", configuration = RibbonConfig.class)

注意:RibbonConfig,应该在主启动类之外定义,避免被扫描到,例如:

这里写图片描述

@RibbonClient,对name为(springcloud-userservcie)的服务端做RibbonConfig.java类中自定义的负载均衡策略。

智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告