RPC结构拆解

RPC结构拆解

RPC结构拆解_第1张图片

RPC服务方通过RpcServer去导出(export)远程接口方法,而客户端通过RpcClient去引入(import)远程接口方法。客户方像调用本地方法一样去调用远程接口方法,RPC框架提供接口的代理实现,实际的调用将委托给代理RpcProxy。代理封装调用信息并将调用转交给RpcInvoker去实际执行。在客户端的RpcInvoker通过连接器RpcConnector去维持与服务端的通道RpcChannel,并使用RpcProtocol执行协议编码(encode)并将编码后的请求消息通过通道发送给服务方。RPC服务端接收器RpcAcceptor接收客户端的调用请求,同样用RpcProtocol执行协议编码(decode)。解码后的调用信息传递给RpcProcessor去控制处理调用过程,最后再委托调用给RpcInvoker去实际执行并返回调用结果。

上面我们进一步拆解了 RPC 实现结构的各个组件组成部分,下面我们详细说明下每个组件的职责划分。

RpcServer
负责导出(export)远程接口

RpcClient
负责导入(import)远程接口的代理实现

RpcProxy
远程接口的代理实现

RpcInvoker
客户方实现:负责编码调用信息和发送调用请求到服务方并等待调用结果返回
服务方实现:负责调用服务端接口的具体实现并返回调用结果

RpcProtocol
负责协议编/解码

RpcConnector
负责维持客户方和服务方的连接通道和发送数据到服务方

RpcAcceptor
负责接收客户方请求并返回请求结果

RpcProcessor
负责在服务方控制调用过程,包括管理调用线程池、超时时间等

RpcChannel
数据传输通道

demo下载地址:http://download.csdn.net/download/jiangsanfeng1111/10260779



你可能感兴趣的:(rpc)