什么是序列化
在 TCP 通道里传输的数据只能是二进制形式的,所以将数据结构或对象转化成二进制的形式就叫序列化。反过来就叫反序列化,他们之间的规则就叫协议。
RPC是什么
全称是Remote Procedure Call, 中文名字叫远程过程调用。大部份的 RPC 是基于TCP的。具体实现流程如下:
1、前端通过 Proxy 代理调用相应的接口, Proxy 将 RPC 的服务名,方法名,参数等信息转换成 RPC Request 对象,交给 RPC 框架
2、RPC 框架通过 RPC 协议将 RPC Request 对象序列化成二进制形式
3、RPC 通过 TCP 通道把二进制数据传递给后端
4、后端将二进制数据反序列化成 RPC Request 对象
5、后端将反序列化后的数据对应到自己写的方法内,传入参数,获取数据,将获取后的数据进行封装,封装成 RPC Response 交给 RPC 框架
6、RPC 框架通过 RPC 协议将 RPC Response 对象序列化成二进制形式, 通过 TCP 通道传递给前端
6、前端将收到的二进制数据反序列化成 RPC response 对象,将结果通过 Proxy 返回给业务代码