远程过程调用

✍ dations ◷ 2025-11-12 11:04:49 #进程间通信,中间件,应用层协议,远端程序呼叫

在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是一个通过发送请求-接受回应进行信息交互的系统。

如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用,例:Java RMI。

RPC是一种进程间通信的模式,程序分布在不同的地址空间里。如果在同一主机里,RPC可以通过不同的虚拟地址空间(即便使用相同的物理地址)进行通讯,而在不同的主机间,则通过不同的物理地址进行交互。许多技术(常常是不兼容)都是基于这种概念而实现的。

有关RPC的想法至少可以追溯到1976年以“信使报”(Courier)的名义使用。RPC首次在UNIX平台上普及的执行工具程序是SUN公司的RPC(现在叫ONC RPC)。它被用作SUN的NFC的主要部件。ONC RPC今天仍在服务器上被广泛使用。另一个早期UNIX平台的工具是“阿波罗”计算机网络计算系统(NCS),它很快就用做OSF的分布计算环境(DCE)中的DCE/RPC的基础,并补充了DCOM。

远程过程调用是一个分布式计算的客户端-服务器(Client/Server)的例子,它简单而又广受欢迎。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地派生了各式远程过程调用协议,而且它们并不互相兼容。

为了允许不同的客户端均能访问服务器,许多标准化的 RPC 系统应运而生了。其中大部分采用接口描述语言(Interface Description Language,IDL),方便跨平台的远程过程调用。

相关

  • J01DA·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码J01(抗菌药)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaboratin
  • 哲人古希腊哲学是古希腊的哲学古典希腊哲学对西方的哲学、科学和宗教的发展都有深刻的影响。古典希腊哲学在很多方面为现代科学与现代哲学铺设了道路。在宗教方面,古典希腊哲学对
  • 自助法在统计学中,自助法(Bootstrap Method,Bootstrapping,或自助抽样法)是一种从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中
  • TLS/SSL传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网
  • 东北亚语言阿尔泰语系韩日-琉球语族:由于日语、韩语等,到底是孤立语言,还是从属于阿尔泰语系或其它语系,学界争论不休,所以,阿尔泰语系之下的“韩日-琉球语族”的合理性更为学界所争议。有学
  • “郡市”(Districts and Cities),是新西兰的二级行政区划,由“区域当局”(Territorial Authority)管辖。现今新西兰共有67个区域当局,包括13个市议会、53个郡议会、及查塔姆群岛议
  • 大日本住友制药大日本住友制药股份有限公司(日语:大日本住友製薬株式会社、英语:Sumitomo Dainippon Pharma Co., Ltd.)是日本一家制药公司。其为住友化学所属。前身为1897年成立的大阪制薬株
  • 芝加哥太阳报《芝加哥太阳报》(Chicago Sun-Times)是在美国芝加哥地区出版的日报,虽然他的阅报量以及广告收益都不及《芝加哥论坛报》,不过他在报摊上却相当的抢手。基本上《芝加哥太阳报》
  • 侏獴侏獴(学名:Helogale parvula),是非洲的一种小型食肉动物,属于獴科。侏獴是一种典型的獴,尖头,小耳,长尾,肢短,爪长,比一般的獴要小许多,一般体长18-28厘米,体重210-350克。体毛柔软,一般为
  • 瑞金市瑞金市是位于中华人民共和国江西省东南部的一个县级市,现为省直管县。东汉建安七年(202年),置象湖镇,属雩都县。唐朝天佑元年(904年)析雩都县置瑞金监,因“掘地得金,金为瑞”得名。据