学习springcloud 之负载均衡ribbon+RestTemplate服务之间调用
一句话概括ribbon:客户端的负载均衡,默认策略是轮询。
ribbon 详细介绍文章:https://www.cnblogs.com/kongxianghai/p/8477781.html
第一步:
ribbon 需要的jar
<!--RestTemplate可以使用Ribbon作为负载均衡组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
第二步:
然后在启动类配置RestTemplate
//加上@LoadBalanced注解即可在RestTemplate上开启LoadBalanced负载均衡的功能。
@LoadBalanced
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
第三步:
在需要用到远程调用的类中注入RestTemplate ,然后用restTemplate.getForObject,直接以服务名的方式调用。好处就是,就算以后那个服务的IP地址变了也没事。
@Autowired
RestTemplate restTemplate;
@GetMapping("/hi-resttemplate")
public String hiResttemplate() {
return restTemplate.getForObject("http://nacos-provider/hi?name=yang", String.class);
}