RPC核心原理

什么是RPC

RPC就是远程过程调用

RPC的作用

  • 屏蔽远程调用本地调用的区别,让我们感觉就是调用本地项目内的方法。
  • 隐藏底层网络通信复杂性,让我们更专注于业务逻辑。

RPC通信流程

一个完整的RPC会涉及哪些步骤呢?

在调用方程序中,RPC框架根据调用的服务接口提前生成动态代理实现类,并将其注入到声明了该接口的相关业务逻辑中。该动态代理实现类拦截所有的方法调用,在提供的方法处理逻辑中完成一整套的远程调用,并把远程调用结果返回给调用方。

RPC框架在方法处理逻辑中完成的远程调用步骤为:

  1. 序列化,将方法调用传入的参数对象转换为可以用TCP等网络协议传输的二进制数据。
  2. 编码,规定一个用于解析二进制数据的协议,按照协议规定的格式组织二进制数据。大多数协议会将数据分为消息头消息体
  3. 网络传输,通过网络将编码后的数据发送到服务提供方。
  4. 解码,服务提供方接收到数据之后按照约定的协议格式解析二进制数据。
  5. 反序列化,将解码后的二进制数据反序列化为调用的接口信息和参数对象等。
  6. 调用实际服务,根据反序列化得到的信息,调用实际服务,产生结果数据。
  7. 将结果序列化、编码之后传输回服务调用方,服务调用方进行解码、反序列化得到结果数据。

步骤的流程图如下:

posted @   wutao666  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示