远程过程调用

✍ dations ◷ 2025-10-23 04:32:27 #进程间通信,中间件,应用层协议,远端程序呼叫

在分布式计算,远程过程调用(英语: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),方便跨平台的远程过程调用。

相关

  • 洁食符合犹太教教规的食物(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Ts
  • 肉芽肿并多发性血管炎肉芽肿并多发性血管炎(Granulomatosis with polyangiitis,缩写为GPA),旧称韦格纳肉芽肿(英语:Wegener's granulomatosis,缩写为 WG),又译为华格纳氏肉芽肿,一种自体免疫疾病,发生原因不
  • 映射映射,或者射影,在数学及相关的领域经常等同于函数。基于此,部分映射就相当于部分函数,而完全映射相当于完全函数。在很多特定的数学领域中,这个术语用来描述具有与该领域相关联的
  • 阿雅克肖1法国统计部门在计算土地面积时,不计算面积大于1平方公里的湖泊、池塘、冰川和河口。阿雅克肖(法语:Ajaccio,科西嘉语:Aiacciu),位于法国科西嘉岛西岸,是科西嘉岛的首府,是科西嘉岛最
  • 风车风车可以有以下意思:
  • 组织结构组织结构的概念有广义和狭义之分。狭义的组织结构,是指为了实现组织的目标,在组织理论指导下,经过组织设计形成的组织内部各个部门、各个层次之间固定的排列方式,即组织内部的构
  • 澳大利亚电影澳大利亚电影(Cinema of Australia),是指由澳洲制作、发行、公开放映的电影。澳洲第一次公开放映电影的时间为1896年10月,为短片。1906年,第一部长片电影公开,片名为《凯利帮》(The
  • 贝尔花园贝尔加登斯(Bell Gardens)是美国加州洛杉矶郡的城市之一,根据2000年度人口普查的统计,该城市的人口为44,054人。贝尔加登斯也是洛杉矶郡中,五个准许开设赌场的城市之一,但禁止骰子
  • 广部广部,为汉字索引里为部首之一,康熙字典214个部首中的第五十三个(三划的则为第二十四个)。就繁体和简体中文中,广部归于三划部首。广部通常是从左上方均为部字,且无其他部首可用者
  • 猬虾猬虾(学名:),亦称姬虾、美人虾、樱花虾、拳师虾,是猬虾属的一种虾。猬虾分布于几乎整个泛热带地区, 在一些温带地区也有分布。主要生活在从加拿大到巴西的大西洋海域(包括墨西哥湾)