RPC(远程过程调用)过程

时间:2018-04-03 11:28:19

标签: networking

我已经阅读了有关RPC(远程过程调用)的内容,但我仍然不太清楚这一点。通过给出一个简单,合适/可理解的例子,任何人都能以非常简单的方式解释它吗?

1 个答案:

答案 0 :(得分:1)

远程过程调用(RPC)是一种协议,一个程序可以使用该协议从位于网络上另一台计算机中的程序请求服务,而无需了解网络的详细信息。过程调用有时也称为函数调用或子例程调用。

RPC使用客户端 - 服务器模型。请求程序是客户端,服务提供程序是服务器。与常规或本地过程调用一样,RPC是一种同步操作,需要暂停请求程序,直到返回远程过程的结果。但是,使用共享相同地址空间的轻量级进程或线程允许同时执行多个RPC。

当使用RPC框架的程序语句被编译成可执行程序时,编译代码中包含存根,作为远程​​过程代码的代表。当程序运行并发出过程调用时,存根接收请求并将其转发到本地计算机中的客户机运行时程序。

enter image description here

客户端运行时程序具有如何寻址远程计算机和服务器应用程序的知识,并通过网络发送请求远程过程的消息。类似地,服务器包括与远程过程本身接口的运行时程序和存根。响应请求协议以相同的方式返回。

只需谷歌RPC,您就可以获得许多相关资源。