RPC介绍

RPC介绍

  • RPC (远程过程调用) 是一个计算机通信协议
  • 优点: 使用自定义的二进制形式进行数据传输, 效率极高
  • 应用场景: 子系统之间进行数据交互

  • 实现效果: 以函数形式调用另一台计算机上的程序
  • 解决方案
    • google gRPC
    • facebook thrift

流程:

  1. 调用者(Caller, 也叫客户端、Client)以本地调用的方式发起调用;
  2. Client stub(客户端存根,可理解为辅助助手)收到调用后,负责将被调用的方法名、参数等打包编码成特定格式的能进行网络传输的消息体;
  3. Client stub将消息体通过网络发送给对端(服务端)
  4. Server stub(服务端存根,同样可理解为辅助助手)收到通过网络接收到消息后按照相应格式进行拆包解码,获取方法名和参数;
  5. Server stub根据方法名和参数进行本地调用;
  6. 被调用者(Callee,也叫Server)本地调用执行后将结果返回给server stub;
  7. Server stub将返回值打包编码成消息,并通过网络发送给对端(客户端);
  8. Client stub收到消息后,进行拆包解码,返回给Client;
  9. Client得到本次RPC调用的最终结果。
posted @ 2019-08-30 19:56  太虚真人  阅读(461)  评论(0编辑  收藏  举报