RPC基本概念

845 阅读1分钟

RPC是什么

RPC即remote procedure call,远程过程调用。 作用体现在两方面:

  • 屏蔽远程调用和本地调用的区别
  • 隐藏底层网络通信

rpc核心步骤

  • 网络通信

远程调用当然需要通信机制,一般为TCP

  • 序列化

网络传输必须是二进制。

  • 协议

服务提供方根据协议,从二进制数据中解析请求,反序列化为请求对象。处理请求后,根据协议,序列化为二进制,写入TCP完成应答。

  • 代理

按照上面三点,进行一次rpc调用需要构造请求,序列化,进行网络调用。显然这是繁琐的,因此通过动态代理,实现“无感”远程调用。

rpc流程

RPC存在的意义

单体应用存在许多弊端,现在正在向微服务演化。应用以服务进行拆分,彼此方法调用就应当从本地调用变为远程调用。因此rpc就是为了解决系统拆分后,各服务间通信的问题。