add geektime java 实战训练营 Rpc基本知识

main
rayc 2024-03-29 10:02:46 +08:00
parent 874f5f99a3
commit 366ac55e94
2 changed files with 37 additions and 4 deletions

View File

@ -25,7 +25,7 @@
"state": {
"type": "markdown",
"state": {
"file": "VSCode 连接 云服务器.md",
"file": "后端/极客时间Java实战/RPC.md",
"mode": "source",
"source": false
}
@ -98,7 +98,7 @@
"state": {
"type": "backlink",
"state": {
"file": "VSCode 连接 云服务器.md",
"file": "后端/极客时间Java实战/RPC.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@ -115,7 +115,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "VSCode 连接 云服务器.md",
"file": "后端/极客时间Java实战/RPC.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
@ -138,7 +138,7 @@
"state": {
"type": "outline",
"state": {
"file": "VSCode 连接 云服务器.md"
"file": "后端/极客时间Java实战/RPC.md"
}
}
}
@ -162,6 +162,8 @@
"active": "7abb266d201c3bb5",
"lastOpenFiles": [
"日志检索.md",
"后端/极客时间Java实战/RPC.md",
"后端/极客时间Java实战",
"VSCode 连接 云服务器.md",
"README.md",
"web/现代WEB布局.md",

View File

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