什么是RPC?
RPC 全称 Remote Rrocedure Call ,远程过程调用.
帮助我们屏蔽网络编程细节,实现调用远程方法就跟本地调用本地一样的体验,我们不需要因为这个方法是远程调用就需要编写很多与业务无关的代码.
作用:
1. 屏蔽远程调用跟本地调用的区别,让我们感觉是调用本地的方法
2. 隐藏底层网络通信的复杂性,让我们更专注于业务逻辑
RPC 通信流程
关键点
1. 网络传输数据,需要保证可靠性,一般采用TCP来传输
2. 网络传输的数据必须是二进制,所以需要将对象转化成二进制,这个过程叫做"序列化"
3. 传输协议,数据头和数据体;数据头一般用于身份识别,包括协议标识\数据大小\请求类型\序列化类型等信息,消息体主要是请求的业务参数信息和扩展属性等
4. 手动写代码构造请求\调用序列化,并进行网络调用,使用动态代理简化API,屏蔽RPC细节,让使用方只需要关注业务接口