远程过程调用

✍ dations ◷ 2025-12-02 14:41:18 #进程间通信,中间件,应用层协议,远端程序呼叫

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

相关

  • ODD对立反抗症(Oppositional defiant disorder)简称ODD,在精神疾病诊断与统计手册第五版(DSM-5(英语:DSM-5))中列在“破坏性,冲动控制和行为障碍”(Disruptive, impulse-control, and con
  • 梵(梵语:ब्रह्मन्,bráhman),印度宗教概念,源于自祭祀仪式所得的神秘力量,指宇宙的超越本体和终极实在,现世相对来说则只是不真的现象。又如:梵心(清净之心)、梵志(以清静为志)、
  • 毒药的历史毒药的历史可追溯到公元前4500年之前。自人类有史以来,毒药就用途广泛,通常是作为武器、解毒药或医疗药。毒药极大促进了医学、毒理学等其他学科分支的发展。毒药在远古时就已
  • 南极洲南极洲(英语:Antarctica)是地球最南端的洲,位于南半球的南极区,是地理南极的所在地。南极洲大部分区域都在南极圈内,四周被南冰洋环绕。南极洲是世界上的第五大洲,其面积约为1400万
  • 路德维希·艾哈德路德维希·威廉·艾哈德(德语:Ludwig Wilhelm Erhard,1897年2月4日-1977年5月5日),德国政治人物、经济学家、“社会市场经济之父”。他从1949年到1963年任德意志联邦共和国经济劳
  • 基本国际单位国际单位制基本单位是一系列由物理学家订定的基本标准单位。国际单位制共有7个基本单位。中华人民共和国用的单位名称依据《中华人民共和国法定计量单位》。中华民国用的单
  • 沙拉武里府 small(北标府)/small沙拉武里府(泰语:จังหวัดสระบุรี,皇家转写:Changwat Saraburi,泰语发音:),是泰国中部的一个府。华人称其为北标府。沙拉武里府为一古老城市,建于1548年的大城时代,是作
  • 微博AIR微博AIR是新浪微博官方推出的基于Adobe AIR开发的桌面客户端,这亦是新浪推出的第三款即时通讯软件。软件由老虎威开发,最早于2010年3月12日推出,原名为SinaTair,自1.21版更名为
  • 氟铝酸钠氟铝酸钠,为冰晶石的主要成分,化学式Na3AlF6。氟铝酸钠是一种无色单斜晶体,常因含有杂质而呈灰白色、淡黄色、淡红色甚至黑色。常呈不可分割的致密块体,有玻璃光泽。微溶于水,水
  • 阿塔卡马沙漠阿塔卡马沙漠(西班牙语:desierto de Atacama;又译亚他加马沙漠),是南美洲西海岸中部的沙漠地区,在安第斯山脉和南太平洋岸之间南北绵延约600英里(近1000公里),总面积约为70,000平方英