1.RPC是什么?
remote produce call: 远程过程调用
过程是什么?
过程就是业务处理、计算任务,更直白理解,就是程序。
2.RPC流程环节?
- 客户端处理过程中调用Client stub(就像调用本地方法一样),传递参数;
- Client stub将参数编组为消息,然后通过系统调用向服务端发送消息;
- 客户端本地操作系统将消息从客户端机器发送到服务端机器;
- 服务端操作系统将接受到的数据包传递给Server stub;
- Server stub解组消息为参数;
- Server stub再调用服务端的过程,过程执行结果以反方向的相同步骤相应给客户端。
3.RPC协议?
RPC调用过程中需要将参数编组为消息进行发送,接收方需要接组消息为参数,过程处理结果同样需要经编组、解组。消息由哪些部分构成及消息的表示形式就构成了消息协议。
RPC调用过程中采用的消息协议成为RPC协议。
4.RPC相关术语
- Client、Server、calls、replies、service,programs,procedures,version,marshalling、unmarshalling
- 一个网络服务由一个或多个远程程序集构成
- 一个远程程序实现一个或多个远程过程
- 过程、过程的参数、结果在程序协议说明书中定义说明
- 为兼容程序协议变更、一个服务端可能支持多个版本的远程程序