一.什么是RPC
RPC(Remote Procedure Call Protocol)远程过程调用协议(主要基于TCP协议),从一台客户端上通过参数传递的方式,调用另外一台服务器提供接口,并返回的结果。
二.RPC架构组件
(1)组件介绍
客户端(Client):服务调用者(消费者)。
客户端存根(Client Stub):存放服务端地址信息,将客户端请求的参数打包成网络传输格式(序列化),再传输到服务端。
服务端存根(Server Stub):接收客户端发送的消息,并进行解包(反序列化),然后调用本地服务进行处理。
服务端(Server):服务的提供者(生产者)。
(2)RPC调用流程
RPC实现将上图的第2-第10步进行了统一封装,简言之,将服务调用,数据序列化/反序列化(编码/解码)封装起来。让远程调用就像调用本地服务一样。
三.RPC涉及的关键技术
(1)Call ID映射
在RPC中,所有的方法(函数)都有的一个ID,并且所有进