从0开始的RPC框架实现-入门

2023/08/06 RPC 共 497 字,约 2 分钟

什么是RPC

RPC(Remote Procedure Call),即远程过程调用,是一种进程间通信的模式。RPC允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需关注细节(发现,编码,传输等)。

RPC是一种服务器-客户端(Client/Server)模式,提供RPC服务的服务器在行为上和一般都HTTP服务器没有很大差异。

RPC调用的基本流程

  1. 客户端调用客户端stub(client stub)。这个调用是在本地,并将调用参数push到栈(stack)中。
  2. 客户端stub(client stub)将这些参数包装(序列化),并通过系统调用发送到服务端机器。打包的过程叫 marshalling。(常见方式:XML、JSON、二进制编码)
  3. 客户端本地操作系统发送信息至服务器。(可通过自定义TCP协议或HTTP传输)
  4. 服务器系统将信息传送至服务端stub(server stub)。
  5. 服务端stub(server stub)解析信息。该过程叫 unmarshalling。
  6. 服务端stub(server stub)调用程序,并通过类似的方式返回给客户端。

rpcproc

文档信息

Search

    Table of Contents

    目录