远程过程调用与本地过程调用

Remote Procedure Calls vs. Local Procedure Calls

RPC(远程程序调用)和LPC(本地程序调用)有什么区别?

阅读他们各自的维基百科页面:

RPC - https://en.wikipedia.org/wiki/Remote_procedure_call

LPC - https://en.wikipedia.org/wiki/Local_Procedure_Call

一切都在那里解释。先花些功夫,如果卡住了,你仍然可以提出一个不平凡的问题。

差异:

  • RPC 比 LPC 慢,因为它使用网络调用方法。
  • 使用 RPC,过程调用可以在远程机器上执行,可以通过多种方式寻址。
  • 参数和 return 值需要可序列化(使用 java 术语)。
  • RPC 可能会因网络问题而失败。
  • RPC 在使用前需要设置。
  • 用于调用远程过程的语言和实现远程过程的语言不一定相同。
  • 等等。

在RPC中,程序可以从不同的计算机执行,而在LPC中,程序由主机执行。