microservices

Introduction

微服务

微服务是一种经过良好架构设计的分布式架构

微服务架构特征:

Structure

Tech-Stack Comparison


SpringCloud

details see spring-cloud

服务拆分与远程调用

服务拆分注意事项

  1. 不同微服务,不要重复开发相同业务
  2. 微服务数据独立,不要访问其它微服务的数据库
  3. 微服务可以将自己的业务暴露为接口,供其它微服务调用

微服务调用方式

提供者与消费者

Demo

根据订单 id 查询订单功能

需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回

  1. 注册RestTemplate

在order-service的OrderApplication中注册RestTemplate

@MapperScan("cn.test.order.mapper")
@SpringBootApplication
public class OrderApplication
public static void main(String[]args){
SpringApplication.run(OrderApplication.class,args);
}
③Bean
public RestTemplaterestTemplate(){
return new RestTemplate();
  1. 服务远程调用RestTemplate

修改order--service中的OrderService的queryOrderByld方法:

@Service
public class OrderService
@Autowired
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId){
//1.查询订单
Orderorder orderMapper.findById(orderId);
//T0D02.查询用户
String url "http://Localhost:8081/user/"+order.getUserId();
Useruser restTemplate.getForObject(url,User.class);
//3.封装User信息
order.setUser(user);
//4.返回
return order;
}

存在的问题

使用注册中心中间件eureka解决

Tech Map