2.4 远程过程调用
通信
1. 知识点论述
「2.4 远程过程调用」是《分布式计算系统》通信部分的核心知识点。说明独立节点如何通过进程、线程、RPC 与消息协同工作。本知识点首先把握:目标:远程调用写起来像本地过程调用。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程
RPC 是什么?和 HTTP 有什么区别
3. 知识点详解
下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。
- 目标:远程调用写起来像本地过程调用。
- 步骤:客户过程调用客户存根,存根编组参数,经网络传到服务器存根,解组后调用服务过程,再把结果编组返回。
- 参数:基本类型要统一数据表示;指针用 copy-in/copy-out,不能直接传地址。
- 绑定:客户进程要找到服务器进程。
- 异步 RPC:调用方不等结果;需要结果时再用回调或第二次调用取回。
- 也可以把一个 RPC 发到一组服务器。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
- 微服务之间用 gRPC/Thrift 互调。
- 分布式文件系统、配置中心对客户端暴露过程式接口。
- 异步 RPC 用于通知类调用,避免阻塞关键路径。