远程过程调用 (RPC)


远程过程调用是一种用于进程间通信的技术,用于基于客户端-服务器的应用程序。它也称为子程序调用或函数调用。

客户端有一个请求消息,RPC 将其翻译并发送到服务器。此请求可能是对远程服务器的过程或函数调用。当服务器收到请求时,它会将所需的响应发送回客户端。在服务器处理调用期间,客户端处于阻塞状态,只有在服务器完成处理后才会恢复执行。

远程过程调用的事件序列如下所示:

  • 客户端调用客户端存根。
  • 客户端存根进行系统调用以将消息发送到服务器,并将参数放入消息中。
  • 客户端的操作系统将消息从客户端发送到服务器。
  • 服务器操作系统将消息传递给服务器存根。
  • 服务器存根从消息中删除参数。
  • 然后,服务器存根调用服务器过程。

演示此过程的图表如下:

RPC

远程过程调用的优点

RPC 的一些优点如下:

  • 远程过程调用支持面向过程和面向线程的模型。
  • RPC 的内部消息传递机制对用户隐藏。
  • 在远程过程调用中,重写和重新开发代码的工作量最少。
  • 远程过程调用既可以用于分布式环境,也可以用于本地环境。
  • RPC 省略了许多协议层以提高性能。

远程过程调用的缺点

RPC 的一些缺点如下:

  • 远程过程调用是一个可以以不同方式实现的概念。它不是标准。
  • RPC 在硬件架构方面没有灵活性。它只是基于交互的。
  • 由于远程过程调用,成本有所增加。

更新时间: 2023年11月1日

39K+ 浏览量

开启您的职业生涯

通过完成课程获得认证

开始学习
广告