远程过程调用
Remote Procedure Call
RPC
【TechTarget中国原创】远程过程调用(RPC,Remote Procedure Call)是这样一种协议:无需了解网络细节,某一程序即可使用该协议请求来自网络内另一台计算机程序的服务。(过程调用有时也称为函数调用或子程序调用。)远程过程调用采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一台服务器。和常规或本地过程调用一样,远程过程调用是同步操作,在远程过程结果返回之前,需要暂时中止请求程序。使用相同地址空间的低权进程或低权线程允许同时运行多个远程过程调用。
当使用远程过程调用(RPC)的程序语句被编译到一个可执行程序中时,代表远程过程代码的编译代码中包含一个存根。程序运行和过程调用发布时,存根接受请求并将其转发给本地计算机的一个客户运行时间程序。客户运行时间程序能够知道如何记录远程计算机和服务器应用地址,并可在请求远程过程的网络间发送信息。同样,服务器包括同远程过程本身相连接的一个运行时间程序和存根,结果会以同样的方式被返回。
有几种RPC模式。一个很流行的模式是开放软件基金会的分布式计算环境(DCE)。1991年11月,美国电气和电子工程师协会在它的ISO远程过程调用规范(ISO/IEC CD 11578 N6561, ISO/IEC)中定义了远程过程调用。
远程过程调用(RPC)跨越了开放系统互连(OSI)网络通信模型中的传输层和应用层。远程过程调用使得开发应用程序更容易。
客户端/服务器通信的替代方法包括信息队列和IBM的高级程序间通信(APPC)。
最近更新时间:2009-10-30 贡献者:Bowman和Fred Hazan 翻译:曾芸芸