什么是RPC ?
RPC【Remote Proceduce Call】是指远程过程调用,是一种进程间的通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不是程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
也就是说两台服务器A,B;一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在同一个内在空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。为什么要用RPC呢?就是无论在一个进程内,甚至一个计算机内通过本地调用的方式完成的需求,比如不同系统间的通讯,甚至不同的组织间的通讯,由于计算能力需要横向扩展,需要在多台机器组成的集群上部署应用。RPC就是要像调用本地的函数一样去调远程函数。
PRC基本原理如下图:
解读:
两个核心模块:通讯,序列化