网络上一台计算机上的程序使用远程过程调用在网络上的另一台计算机上发出程序请求,而不知道网络的详细信息。 RPC协议是用于软件应用程序内或之间的点对点通信的网络编程模型。 RPC也称为子例程调用或函数调用。
RPC如何工作
在RPC中,发送计算机以过程,函数或方法调用的形式发出请求。 RPC将这些调用转换为请求,并通过网络将它们发送到预期目标。然后,RPC收件人根据过程名称和参数列表处理请求,并在完成后向发送方发送响应。 RPC应用程序通常实现称为“代理”和“存根”的软件模块,这些模块代理远程调用,并使程序员看起来与本地过程调用相同。
RPC调用应用程序通常同步操作,等待远程过程返回结果。但是,使用具有相同地址的轻量级线程意味着可以同时发生多个RPC。 RPC结合了超时逻辑来处理网络故障或RPC不返回的其他情况。
RPC技术
自20世纪90年代以来,RPC一直是Unix世界中常见的编程技术。 RPC协议在Open Software Foundation的分布式计算环境和Sun Microsystems开放式网络计算库中实现,这两个库都被广泛部署。最近的RPC技术示例包括Microsoft DCOM,Java RMI以及XML-RPC和SOAP。