远程过程调用

✍ dations ◷ 2025-08-07 03:52:03 #进程间通信,中间件,应用层协议,远端程序呼叫

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

相关

  • 植物油植物油(英语:Vegetable oil),由植物来源取得的油脂,通常是由植物种子中取得,主要成分三酸甘油脂依来源不同有多种脂肪酸组合。植物油一词有时会特别用来指在室温下会保持液体形态
  • 乙酰氯乙酰氯是乙酸衍生出的酰氯,分子式为CH3COCl,结构如右图所示。标准状态下,乙酰氯是无色澄清液体,在潮湿空气中发烟。乙酰氯与水反应,生成乙酸和氯化氢,因此乙酰氯不会存在于自然界
  • PocketBookPocketBook是一家跨国公司,它以电子墨水技术(电子纸技术)为基础,PocketBook做品牌,生产电子书阅读器。该公司成立于2007年,公司总部位于瑞士卢加诺。PocketBook是全球第四大电子阅
  • 阿米巴性阴道炎阿米巴性阴道炎(英语:Amebic vaginitis),是由溶组织阿米巴滋养体引起的一种罕见阴道炎,它多继发于肠道感染。主要症状为阴道分泌物呈血性浆液性或黏液脓性,有腥臭味,常伴有外阴及阴
  • 精囊腺精囊(英语:Seminal vesicle,亦称为储精囊),功用为提供和储存精液的分泌物,内含有黏液、果糖(精子能量)、凝集酵素、抗坏血酸、前列腺素,但并不储存精子。精液有60%左右的成分来自于此
  • 阳翟阳翟,中国古代地名,为今日河南禹州市。传说是夏禹建国时的首都。在东周周襄王时,狄人入侵此地而得名。公元前408年,韩景侯将韩国国都自平阳迁至阳翟。前375年,韩哀侯将都城从阳翟
  • 计时码表计时马表,或称马表(英语:chronograph),是一种有计时功能的手表,是将秒表的功能结合于手表之中。计时码表于1720年由英国人乔治·格林汉(英语:George Graham)发明。无论是机械手表,石英
  • 安托诺夫安-24安托诺夫安-24(乌克兰语:Антонов Ан-24,北约命名:焦炭(Coke))是一款在苏联时代由安托诺夫设计局开发的44座双涡桨发动机动力客运与货运用飞机。在1959年时进行首航的安-24
  • 苗语罗泊河次方言苗语罗泊河次方言是苗语川黔滇方言的一支,使用这个次方言的苗族约有5万多人,居住于贵州省中部落北河流域一带。罗泊河次方言只有三至四个声调,为苗瑶语言中最少。除此之外,罗泊
  • 基督教和暴力基督教与暴力的关系是一个争议性话题,因为虽然基督教教义中宣扬和平、爱与同情,但另一方面部分教义也被用来将使用暴力合理化。和平、同情和对他人的慈善与宽容过失是基督教教