RPC简介
为什么要学习RPC
- RPC可以让我们调用远程服务像调用本地服务一样,
- RPC是微服务的基础,
- 它是用来解决分布式系统通信的,涉及到网络通信就可以使用RPC
- RPC将网络通信的整个过程做了封装,使网络通信相关的开发逻辑变得简单。
RPC的作用
- 屏蔽远程调用和本地调用的差异
- 隐藏底层网络通信的复杂性,更专注于业务逻辑。
RPC通信流程
首先RPC通信需要保证可靠性,一般采用TCP来传输。
数据格式的约定内容叫做协议,大部分协议分为两部分:数据头和消息体。
数据头一般用于身份识别,包括协议标识、数据大小、请求类型、序列化类型等信息。
消息体主要是请求的业务参数信息和扩展属性等。
序列化:对象转换成二进制
反序列化:根据协议将二进制转换成对象
RPC应用场景
在系统中调用另外一个系统的接口,都属于RPC调用
总结
RPC框架能够帮助我们解决系统拆分后的通信问题,并且能让我们像调用本地一样去远程调用方法。