RPC(远程过程调用)基本原理

RPC(Remote Procedure Call)–远程过程调用

  • RPC和HTTP类似,是一种进程间通信方式。是一种技术思想,而不是一种规范。他允许程序调用另一个地址空间的过程或函数,而不用程序员显示编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
  • 有两台服务器A、B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。
  • 因为无法在一个进程内或一个计算机内通过本地调用的方式完成的需求,比如不同的系统间的通讯,甚至不同组织间的通讯,由于计算能力需要横向扩展,需要在多台机器集群上部署应用。RPC就是要像调用本地函数一样去调用远程函数。

RPC基本实现流程:

RPC(远程过程调用)基本原理_第1张图片

  • 客户端函数调用客户端资源,通过soekct网络传输到服务端,服务端解析socket,找到客户端要调用的服务端函数,然后服务端再原路返回告诉客户端调用完成,这就实现了一个远程过程调用。
  • 这是一个序列化和反序列化的过程

你可能感兴趣的:(RPC(远程过程调用)基本原理)