**定义:** 远程过程调用(Remote process call), 一起分布式系统的基础包含分布式系统基本功能租金:网络通信、序列化/反序列化、传输协议和服务调用 ### RPC 演进 #### 阶段一 - 服务消费者 - `RpcProtocol` - `RpcConnector` - 服务提供者 - `RpcAcceptor` - `RpcProtocol` #### 阶段二: #### 阶段三: #### 客户端组件和职责 - `RpcClient` -- 负责导入(import) 远程接口的代理实现 - `RpcProxy` -- 调用远程接口的代理实现 - `RpcCaller` -- 负责编码的发送调用请求服务端并等待结果 - `RpcConnector` -- 负责维持连接通道和发送数据到客户端 #### 服务端组件和职责 - `RpcServer` -- 负责导出(export)远程接口 - `RpcInvoker` -- 负责调用服务端接口的具体实现并返回结果 - `RpcAcceptor` -- 负责接收客户端请求并返回请求结果 - `RpcProcessor` -- 负责在客户端控制调用过程,包括管理调用线程池等 #### 通用组件和职责 - `RpcProtocol` -- 负责协议的 **编/解码** - `RpcChannel` -- 充当数据传输的通道