目录
SpringCloud:服务拆分及远程调用
1、服务拆分
2、远程调用
SpringCloud:服务拆分及远程调用
SpringCloud是目前国内使用最广泛的微服务框架。
官网地址: Spring Cloud
SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从
而提供了良好的开箱即用体验
SpringCloud与SpringBoot的版本兼容关系:
1、服务拆分
1.不同微服务,不要重复开发相同业务
2.微服务数据独立,不要访问其它微服务的数据库
3.微服务可以将自己的业务暴露为接口,供其它微服务调用
2、远程调用
在启动类注册:RestTemplate
/**
* 创建RestTemplate 并注入spring容器
* @return
*/
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
远程调用,注入RestTemplate ,写请求路径,调方法
@Autowired
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
//2.利用RestTemplate发起http请求,查询用户
//2.1.url路径
String url = "http://localhost:8081/user/" + order.getUserId();
//2.2.发送http请求,实现远程调用
User user = restTemplate.getForObject(url, User.class);
//封装对象
order.setUser(user);
// 4.返回
return order;
}