RPC同步调用流程:(异步另说)

  1)服务消费方(Client)以本地的调用方式调用远程服务。

  2)客户端代理(Client Stub)接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体。

  3)客户端代理(Client Stub)找到服务地址,将消息发送到服务端。

  4)服务端代理(Server Stub)收到消息后进行解码。

  5)服务端代理(Server Stub)根据解码的结果调用本地服务

  6)本地服务执行并将结果返回给服务端代理(Server Stub)

  7)服务端代理(Server Stub)将返回结果打包成消息发送至消费方

  8)客户端代理(Client Stub)接收到消息并进行解码。

  9)服务消费方得到最终结果

RPC框架的目标就是要2-8这些步骤都封装起来,这些细节对用户来说是透明的,不可见的。

05-07 15:48