1、服务拆分注意事项
1、单一职责:不同微服务,不重复开发相同业务
2、数据独立:不访问其他微服务的数据库
3、面向服务:将自己的业务暴露为接口,供其他微服务调用
2、微服务远程调用
1、案例:根据订单id查询订单功能
需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回
2、注册RestTemplate
在order-service的OrderApplication中注册RestTemplate
3、服务远程调用RestTemplate
修改order-service中的OrderService的queryOrderById方法
4、微服务调用方式总结
(1)基于RestTemplate发起的http请求实现远程调用
(2)http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可
5、提供者与消费者
服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)
服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)
6、服务调用关系
服务提供者:暴露接口给其它微服务调用
服务消费者:调用其它微服务提供的接口
提供者与消费者角色其实是相对的,一个服务可以同时是服务提供者和服务消费者