远程通信——通信协议设计以及编解码的实现

2021-01-14 14:47:24 浏览数 (1)

上篇文章中我们搭建了服务提供者和服务消费者的基本框架,现在我们可以建立两个模块之间的通信机制了。我们通过向 ChannelPipeline 添加自定义的业务处理器,来完成 RPC 框架的远程通信机制。需要实现的主要功能如下:

  • 服务消费者实现协议编码,向服务提供者发送调用数据。
  • 服务提供者收到数据后解码,然后向服务消费者发送响应数据,暂时忽略 RPC 请求是如何被调用的。
  • 服务消费者收到响应数据后成功返回。

文章目录

  • RPC 通信方案设计
  • 自定义 RPC 通信协议
  • 序列化选型
  • 协议编码实现
  • 协议解码实现
  • 请求处理与响应
  • 总结

RPC 通信方案设计

结合上面的目标,接下来我们对 RPC 请求调用和结果响应两个过程分别进行详细拆解分析。首先看下 RPC 请求调用的过程,如下图所示。

rpc

0 人点赞