Ribbon负载均衡服务调用
1.在听周阳老师讲解时,使用Ribbon核心组件IRule时是这样用的:
ribbon版本 :
自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,项目结构如下
MySelfRule.java
@Configuration public class MySelfRule { @Bean public IRule getMyRule(){ return new RandomRule(); } }
OrderMain80 .java
@EnableEurekaClient @SpringBootApplication @RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class) public class OrderMain80 { public static void main(String[] args) { SpringApplication.run(OrderMain80.class,args); } }
2.在将nacos注册中的时候,发现安装上面的配置不行,根据网上查找的资料将Rule组件放在@ComponentScan所扫描的当前包下以及子包下就可以了
主启动类添加@RibbonClinet就可以了
@Configuration public class ApplicationContextBean { @Bean @LoadBalanced public RestTemplate getTemplate(){ return new RestTemplate(); } @Bean public IRule getMyRule(){ return new RandomRule(); } }
@EnableDiscoveryClient @SpringBootApplication @RibbonClient(name="nacos-payment-provider") public class OrderNacosMain83 { public static void main(String[] args){ SpringApplication.run(OrderNacosMain83.class,args); } }
至于为什么会这样还没有去研究过!!!!