1. 新建package,添加自定义规则类
官方文档
警告 FooConfiguration必须有@Configuration,但注意它并不在主应用上下文的@ComponentScan中,否则它会被所有的@RibbonClients分享(意思就是覆盖所有客户端的默认值)。如果开发人员使用@ComponentScan(或@SpringBootApplication),那就必须采取措施避免被覆盖到(例如将其放入一个独立的,不重叠的包中,或以@ComponentScan指明要扫描的包。
/**
* Ribbon规则配置
*
* @author wenhui
* @Date 2021/2/14
*/
@Configuration
public class MySelfRule {
@Bean
public IRule myRule() {
return new RandomRule(); // 定义规则为随机
}
}
2. 主启动类添加 @RibbonClient
@RibbonClient(name = “CLOUD-PROVIDER-PAYMENT”, configuration = MySelfRule.class)
/**
* @author wenhui
* @Date 2021/1/30
*/
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@RibbonClient(name = "CLOUD-PROVIDER-PAYMENT", configuration = MySelfRule.class)
public class CloudOrderMain80 {
public static void main(String[] args) {
SpringApplication.run(CloudOrderMain80.class, args);
}
}