springcloud中的自定義ribbon客戶端負(fù)載均衡配置
1、不在啟動(dòng)類同級(jí)的包目錄中新建ribbon配置類@Configuration
public class TestConfiguration {
@Autowired
IClientConfig config;
@Bean
public IRule ribbonRule(IClientConfig config) {
return new RandomRule();
}
}
在啟動(dòng)類中添加注解@RibbonClient
在啟動(dòng)類中添加注解@RibbonClient
@SpringBootApplication
@EnableEurekaClient //針對(duì)Eureka服務(wù)注冊(cè)使用
//@EnableDiscoveryClient //可以對(duì)其他服務(wù)注冊(cè)軟件使用
@RibbonClient(name="a-microservice-provider-user",configuration=TestConfiguration.class)
public class ConsumerMovieRibbonApplication {
@Bean
@LoadBalanced//客戶端負(fù)載均衡,先把服務(wù)提供這所有的節(jié)點(diǎn)讀取到ribbon注冊(cè)表中,默認(rèn)輪詢請(qǐng)求服務(wù)
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(ConsumerMovieRibbonApplication.class, args);
}
}
3.在controller中添加方法
3.在controller中添加方法
@GetMapping("/movie/{userid}")
public TUser test2(@PathVariable(name="userid") String userId) {
//服務(wù)的自動(dòng)發(fā)現(xiàn),不用配置死的IP和端口,只有在RestTemplate添加了@LoadBalanced接口,才能使用應(yīng)用名稱訪問
return restTemplate.getForObject("http://a-microservice-provider-user/users/"+userId, TUser.class);
}
4、啟動(dòng)服務(wù)發(fā)現(xiàn)服務(wù)eureka和服務(wù)提供類,調(diào)用目標(biāo)方法,可以成功 調(diào)用。
4、啟動(dòng)服務(wù)發(fā)現(xiàn)服務(wù)eureka和服務(wù)提供類,調(diào)用目標(biāo)方法,可以成功 調(diào)用。
posted on 2018-03-21 17:50 楊軍威 閱讀(706) 評(píng)論(0) 編輯 收藏