远程过程调用

✍ dations ◷ 2024-12-22 22:41:25 #进程间通信,中间件,应用层协议,远端程序呼叫

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

相关

  • 克拉斯诺达尔边疆区克拉斯诺达尔边疆区(俄语:Краснода́рский край,罗马化:Krasnodarskiy kray),位于前高加索西部、大高加索北麓,亚速海—黑海东岸,与克里米亚隔刻赤海峡相望。南面
  • 过渡体衬线体(Serif)是一种有衬线的字体,又称为有衬线体、衬线字、曲线描边字,俗称白体字;而与之相对的,没有衬线的字体则被称为无衬线体。衬线是字形笔画末端的装饰细节部分。一般认为
  • 电磁力电磁力(英语:electromagnetic force)是处于电场、磁场或电磁场的带电粒子所受到的作用力。大自然的四种基本力中,电磁力是其中一种,其它三种是强作用力、弱作用力、引力。光子是
  • 艾弗瑞坐标:42°24′30″N 72°03′15″W / 42.40833°N 72.05417°W / 42.40833; -72.05417埃弗里特(英语:Everett),绰号荣耀、进步与可能之城(City of Pride, Progress and Possibilit
  • 管路系统管路系统(英语:Plumbing),或称管道系统、管路,是为不同目的输送流体的系统。管路系统会使用管道、阀门、卡具(英语:piping and plumbing fitting)、储罐及其它装置来输送流体。管路
  • 利比亚沙漠利比亚沙漠是撒哈拉沙漠东北部分,位于利比亚东部和埃及西部,部分伸入苏丹西北部。大部分为裸露的岩石台地和多岩石或沙子的平原。最高点是位于利比亚、埃及和苏丹三国交界处的
  • 罗伯特·李文斯顿罗伯特·R·李维顿(英语:Robert R. Livingston,1746年11月27日-1813年2月26日),大陆会议代表,美国第一任外交部部长(1781年—1783年,后改为国务卿)及法官。
  • 对蒙抗战中亚(花剌子模) – 格鲁吉亚与亚美尼亚 – 伏尔加保加利亚(萨马拉弯 – 比拉尔) – 安纳托利亚(克塞山) – 欧洲(立陶宛(英语:Mongol invasions of Lithuania) – 罗斯 – 波兰
  • 俄罗斯陆军俄罗斯联邦陆军(俄语:Сухопутные войска Российской Федерации)在1991年底苏联解体时成立,中途经过多次改革,形成了目前的规模。其前身为苏
  • 阿里尔·沙龙公园坐标:32°1′36.93″N 34°49′26.71″E / 32.0269250°N 34.8240861°E / 32.0269250; 34.8240861阿里尔·沙龙公园(פארק אריאל שרון - Ariel Sharon Park / פ