什么是RPC

通俗讲就是远程过程调用

RPC要求在调用方中放置被调用的方法的接口。

调用方只要调用了这些接口,就相当于调用了被调用方的实际方法,十分易用。

于是,调用方可以像调用内部接口一样调用远程的方法,而不用封装参数名和参数值等操作。

图片[1]-什么是RPC-不念博客

主要包含:

  1. 动态代理,封装调用细节
  2. 序列化与反序列化,数据传输与接收
  3. 通信,可以选择七层的http,四层的tcp/udp
  4. .异常处理等
  • 首先,调用方调用的是接口,必须得为接口构造一个假的实现。显然,要使用动态代理。这样,调用方的调用就被动态代理接收到了。
  • 第二,动态代理接收到调用后,应该想办法调用远程的实际实现。这包括下面几步:
  • 识别具体要调用的远程方法的IP、端口
  • 将调用方法的入参进行序列化
  • 通过通信将请求发送到远程的方法中

这样,远程的服务就接收到了调用方的请求。它应该:

  • 反序列化各个调用参数
  • 定位到实际要调用的方法,然后输入参数,执行方法
  • 按照调用的路径返回调用的结果
© 版权声明
THE END