ray-note/极客时间学习/Java 实战训练营/分布式服务/RPC.md

32 lines
1.1 KiB
Markdown

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