Ribbon 简介
Ribbon 是一个客户端负载均衡组件,可以很好的控制http和tcp的一些行为。Feign默认集成了Ribbon。eureka客户端默认集成了Ribbon 无需引入依赖。
REST+Ribbon 配置
1.在启动类中注入RestTemplate 的bean
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
2.控制类中注入RestTemplate
@Autowired
RestTemplate restTemplate;
3.RestTemplate 通过服务名(APP-USER) 调用获取用户信息的接口,ribbon实现负载均衡。
MultiValueMap<String,String> requestEntity = new LinkedMultiValueMap<>();
requestEntity.add("userId",userId);
String userName = restTemplate.postForObject("http://APP-USER/user/findById",requestEntity,String.class);