在 RPC 中,客户端使过程在不同的地址空间(通常是远程服务器)执行。该过程被编码为好像是本地过程调用,从而向客户端程序抽象掉了与服务器通信的细节。远程调用通常比本地调用更慢且可靠性更低,因此区分 RPC 调用和本地调用很有帮助。流行的 RPC 框架包括 [Protobuf](https://developers.google.com/protocol-buffers/)、[Thrift](https://thrift.apache.org/) 和 [Avro](https://avro.apache.org/docs/current/)。