1. 配置
@SpringBootApplication
@EnableEurekaClient
public class MicroWebApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(MicroWebApplication.class,args);
}
}
@Configuration
public class RibbonLoadBalanceMicroOrderConfig {
@Bean
@ConditionalOnClass
public IClientConfig defaultClientConfigImpl() {
DefaultClientConfigImpl config = new DefaultClientConfigImpl();
config.set(CommonClientConfigKey.MaxAutoRetries,2);
config.set(CommonClientConfigKey.MaxAutoRetriesNextServer,2);
config.set(CommonClientConfigKey.ConnectTimeout,2000);
config.set(CommonClientConfigKey.ReadTimeout,4000);
config.set(CommonClientConfigKey.OkToRetryOnAllOperations,true);
return config;
}
@Bean
public IRule ribbonRule() {
new RoundRobinRule();
new RetryRule();
new WeightedResponseTimeRule();
new BestAvailableRule();
return new RandomRule();
}
}