【说人话的描述】
几个闺蜜在逛街,有人说突然想起快递没收,要回去收快递。另外一个人说,打个电话回去给老公去收快递就行了。远程操作老公收快递这个过程,叫做远程操作。
【行业术语】
RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC协议假设客户端和服务端已经知道对方有哪些接口,参数的格式是什么。
【RPC框架的2大基本能力】
1、服务端如何确定客户端要调用的函数:
客户端和服务端分别维护一个【ID-->函数】的对应表,ID在所有进程中都是唯一确定的。客户端在做远程过程调用时,附上这个ID,服务端通过查表,来确定客户端要调用的函数,然后执行相应函数的代码。
2、如何网络传输(选择何种网络协议):
多数RPC框架选择TCP作为传输协议,也有部分选择HTTP。如果gRPC使用HTTP2。不同的协议各有利弊,TCP更高效,而HTTP在实际应用中更加的灵活。
【参考资料】