RPC远程过程调用

RPC协议有助于联网计算机之间的通信

网络上的一台计算机上的程序使用远程过程调用在网络上的另一台计算机上请求程序,而无需知道网络的详细信息。 RPC协议是用于软件应用程序内部或之间的点对点通信的网络编程模型。 RPC也被称为子程序调用或函数调用。

RPC如何工作

在RPC中,发送计算机以过程,函数或方法调用的形式发出请求。 RPC将这些调用转换为请求,并通过网络将它们发送到预定的目的地。 RPC收件人然后根据过程名称和参数列表处理请求,并在完成时向发件人发送响应。 RPC应用程序通常实现名为“代理”和“存根”的软件模块,用于代理远程调用,并使程序员看起来与本地过程调用相同。

RPC调用应用程序通常同步运行,等待远程过程返回结果。 但是,使用具有相同地址的轻量级线程意味着可以同时发生多个RPC。 RPC集成了超时逻辑来处理网络故障或RPC不返回的其他情况。

RPC技术

自20世纪90年代以来,RPC一直是Unix领域的常用编程技术。 RPC协议在开放软件基金会的分布式计算环境和Sun Microsystems开放网络计算库中都得到了实现,这两个库都被广泛部署。 最近的RPC技术的例子包括Microsoft DCOM,Java RMI和XML-RPC和SOAP。