fbpx
维基百科

遠程過程調用

分布式计算中,遠端程序呼叫(英語:Remote Procedure CallRPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。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)的例子,它简单而又广受欢迎。远程过程调用总是由客户端服务器发出一个执行若干过程请求,并用客户端提供的参数。执行结果将返回给客户端。由于存在各式各样的变体和细节差异,对应地衍生了各式远程过程调用协议,而且它们并不互相兼容。

流程

  1. 客户端调用客户端stub(client stub)。这个调用是在本地,并将调用参数push到(stack)中。
  2. 客户端stub(client stub)将这些参数包装,并通过系统调用发送到服务端机器。打包的过程叫 marshalling。(常见方式:XMLJSON、二进制编码)
  3. 客户端本地操作系统发送信息至服务器。(可通过自定义TCP协议HTTP传输)
  4. 服务器系统将信息传送至服务端stub(server stub)。
  5. 服务端stub(server stub)解析信息。该过程叫 unmarshalling
  6. 服务端stub(server stub)调用程序,并通过类似的方式返回给客户端。

標準化的溝通機制

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

参见

遠程過程調用, 此條目需要擴充, 2018年9月15日, 请協助改善这篇條目, 更進一步的信息可能會在討論頁或扩充请求中找到, 请在擴充條目後將此模板移除, 此條目没有列出任何参考或来源, 2018年9月15日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而移除, 分布式计算中, 遠端程序呼叫, 英語, remote, procedure, call, 是一个计算机通信协议, 该协议允许运行于一台计算机的程序调用另一个地址空间, 通常为一个开放网络的一台. 此條目需要擴充 2018年9月15日 请協助改善这篇條目 更進一步的信息可能會在討論頁或扩充请求中找到 请在擴充條目後將此模板移除 此條目没有列出任何参考或来源 2018年9月15日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而移除 分布式计算中 遠端程序呼叫 英語 Remote Procedure Call RPC 是一个计算机通信协议 该协议允许运行于一台计算机的程序调用另一个地址空间 通常为一个开放网络的一台计算机 的子程序 而程序员就像调用本地程序一样 无需额外地为这个交互作用编程 无需关注细节 RPC是一种服务器 客户端 Client Server 模式 经典实现是一个通过发送请求 接受回应进行信息交互的系统 如果涉及的软件采用面向对象编程 那么远程过程调用亦可称作遠端呼叫或遠端方法呼叫 例 Java RMI RPC是一种进程间通信的模式 程序分布在不同的地址空间里 如果在同一主机里 RPC可以通过不同的虚拟地址空间 即便使用相同的物理地址 进行通讯 而在不同的主机间 则通过不同的物理地址进行交互 许多技术 通常是不兼容 都是基于这种概念而实现的 目录 1 历史起源 2 信息传递 2 1 流程 3 標準化的溝通機制 4 参见历史起源 编辑有关RPC的想法至少可以追溯到1976年以 信使报 Courier 的名义使用 RPC首次在UNIX平台上普及的执行工具程序是SUN公司的RPC 现在叫ONC RPC 它被用作SUN的NFC的主要部件 ONC RPC今天仍在服务器上被广泛使用 另一个早期UNIX平台的工具是 阿波罗 计算机网络计算系统 NCS 它很快就用做OSF的分布计算环境 DCE 中的DCE RPC的基础 并补充了DCOM 信息传递 编辑远程过程调用是一个分布式计算的客户端 服务器 Client Server 的例子 它简单而又广受欢迎 远程过程调用总是由客户端对服务器发出一个执行若干过程请求 并用客户端提供的参数 执行结果将返回给客户端 由于存在各式各样的变体和细节差异 对应地衍生了各式远程过程调用协议 而且它们并不互相兼容 流程 编辑 客户端调用客户端stub client stub 这个调用是在本地 并将调用参数push到栈 stack 中 客户端stub client stub 将这些参数包装 并通过系统调用发送到服务端机器 打包的过程叫 marshalling 常见方式 XML JSON 二进制编码 客户端本地操作系统发送信息至服务器 可通过自定义TCP协议或HTTP传输 服务器系统将信息传送至服务端stub server stub 服务端stub server stub 解析信息 该过程叫 unmarshalling 服务端stub server stub 调用程序 并通过类似的方式返回给客户端 標準化的溝通機制 编辑为了允许不同的客户端均能访问服务器 许多标准化的 RPC 系统应运而生了 其中大部分采用接口描述语言 Interface Description Language IDL 方便跨平台的远程过程调用 参见 编辑本地过程调用 行程間通訊 開放網路運算遠端程序呼叫 ONC RPC DCE RPC JSON RPC 取自 https zh wikipedia org w index php title 遠程過程調用 amp oldid 68793823, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。