场景:Spring Cloud 使用过程中发现轮询算法不能满足业务需求,考虑使用其他负载均衡算法
1.写了几个简单的应用用来验证,其中包含:两个Eureka服务器端,两个Payment应用端提供支付支付,一个Order订单应用。
2.使用order中的接口通过RestTemplate对象调用Payment应用接口
3.使用RibbonClient注解并未实现该功能,一直说找不到地址
4.开始以为是这个原因:官方文档明确给出了警告:这个自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享,达不到特殊化定制的目的了。
5.但实际上我将配置类挪出app同级目录,发现并未走该方法
6.后来看CSDN上面的朋友说LoadBalancerClient注解,发现使用了也是同样找不到服务
7.最后,在我不停的调试下发现是**@LoadBalanced**必须开启,和@LoadBalancerClient、@RibbonClient注解无关,这两个注解都可以实现算法自定义