SpringCloud学习路线(2)—— 服务拆分与远程调用

一、服务拆分

(一)服务拆分的注意事项

  • 1、不同微服务不重复开发相同业务。(例如订单服务不开发用户查询功能,直接调用其他服务接口就可以了)
  • 2、微服务数据独立,不访问其他微服务的数据库。
  • 3、微服务可以将自己的业务暴露接口,供其它微服务调用。

二、远程调用

远程调用的实质,是微服务端通过 HTTP 请求其它微服务接口。

(一)实现步骤

1、注册 RestTemplate

@MppaerScan("xxxxx.mapper")
@SpringBootApplication
public class OrderApplication {
    
    
	public static void main(String[] args){
    
    
		SpringApplication.run(OrderApplication.class,args);
	}
	
	@Bean
	public RestTemplate restTemplate(){
    
    
		return new RestTemplate();
	}
}

2、发起请求

@Service
public class OrderService{
    
    
	@Autowired
	private OrderMapper orderMapper;
	
	@Autowired
	private RestTemplate restTemplate
	
	public Order queryOrderById(Long orderId){
    
    
		Order order = orderMapper.findById(orderId);
		
		//利用RestTemplate发起请求
		String url = "http://localhost:8081/user/" + order.getUserId();
		User user = restTemplate.getForObject(url, User.class);
		order.setUser(user);
		
		return order;
	}
}

猜你喜欢

转载自blog.csdn.net/Zain_horse/article/details/131785446