二 服务拆分及远程调用

1、服务拆分注意事项

1、单一职责:不同微服务,不重复开发相同业务
2、数据独立:不访问其他微服务的数据库
3、面向服务:将自己的业务暴露为接口,供其他微服务调用

2、微服务远程调用

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


image.png

2、注册RestTemplate
在order-service的OrderApplication中注册RestTemplate


image.png

3、服务远程调用RestTemplate
修改order-service中的OrderService的queryOrderById方法
image.png

4、微服务调用方式总结
(1)基于RestTemplate发起的http请求实现远程调用
(2)http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可

5、提供者与消费者
服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)
服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

6、服务调用关系
服务提供者:暴露接口给其它微服务调用
服务消费者:调用其它微服务提供的接口
提供者与消费者角色其实是相对的,一个服务可以同时是服务提供者和服务消费者

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容