IDC资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回IDC资讯列表

什么是RPC协议?RPC协议如何工作?有什么优势?

发布时间:2023-02-03

什么是RPC协议?RPC协议如何工作?有什么优势?

  一、远程进程调用(RPC)的基本定义

远程进程调用(RPC)是一种协议,一个程序可使用该协议来要求位于网络上另外一台计算机上的程序的服务,而无需了解网络的详细信息。RPC用于调用远程系统(如本地系统)上的其他进程。进程调用有时也称为函数调用或子例程调用。

RPC使用客户端服务器模型。要求程序是客户端,服务程序是服务器。像常规或本地进程调用一样,RPC是一种同步操作,需要暂停要求的程序,直到返回远程进程的结果为止。但是,使用同享相同地址空间的轻量级进程或线程可以同时履行多个RPC。

接口定义语言(IDL)是用于描写软件组件的利用程序编程接口(API)的规范语言,通常在远程进程调用软件中使用。在这类情况下,IDL在链接两端可能使用不同操作系统(OS)和计算机语言的机器之间提供了桥梁。

  二、远程进程调用(RPC)消息进程

将使用RPC框架的程序语句编译为可履行程序时,已编译代码中将包括存根,该存根充当远程进程代码的代表。当程序运行并发出进程调用时,存根将接收要求并将其转发到本地计算机中的客户端运行时程序。客户端存根第一次被调用时,它与名称服务器联系,以肯定服务器所在的传输地址。

客户端运行时程序了解如何寻址远程计算机和服务器利用程序,和如何通过网络发送要求远程进程的消息。一样,服务器包括一个运行时程序和与远程进程本身接口的存根。响应要求协议以相同的方式返回。

  三、远程进程调用(RPC)如何工作

当调用远程进程调用时,调用环境将暂停,进程参数将通过网络传输到要履行进程的环境,然后在该环境中履行进程。

进程完成后,结果将返回到调用环境,在该环境中恢复履行,就像从常规进程调用中返回一样。

在RPC期间,将履行以下步骤:

1.客户端调用客户端存根。该调用是本地进程调用,其参数以正常方式推送到堆栈中。

2.客户端存根将进程参数打包到消息中,并进行系统调用以发送消息。进程参数的打包称为编组。

3.客户真个本地OS将消息从客户端计算机发送到远程服务器计算机。

4.服务器操作系统将传入的数据包传递到服务器存根。

5.服务器存根从消息中解紧缩参数(称为解组)。

6.服务器进程完成后,它返回到服务器存根,该存根将返回值编组为一条消息。然后,服务器存根将消息传递到传输层。

7.传输层将结果消息发送回客户端传输层,后者将消息传递回客户端存根。

8.客户端存根解组返回参数,然后履行返回给调用方。

  四、远程进程调用(RPC)五种类型

1.客户端拨打电话且直到服务器返回回复后才继续的正常操作方法。

2.客户端进行呼唤并继续其本身的处理。服务器未回复。

3.批量发送多个客户端非阻塞呼唤的工具。

4.RPC客户端具有广播功能,即,它们可以将消息发送到许多服务器,然后接收所有结果答复。

5.客户端进行无阻塞的客户端/服务器调用;服务器通过调用与客户端关联的进程来唆使呼唤已完成。

  五、远程进程调用(RPC)的优势

1.通过传统使用高级语言的进程调用来帮助客户与服务器通讯;

2.可以在散布式环境和本地环境中使用;

3.支持面向流程和面向线程的模型;

4.向用户隐藏内部消息传递机制;

5.只需很少的精力便可重写和重新开发代码;

6.提供抽象,即网络通讯的消息传递特性对用户隐藏;

7.省略了许多协议层以提高性能。

TikTok千粉号购买平台:https://tiktokusername.com/