上篇文章中我们搭建了服务提供者和服务消费者的基本框架,现在我们可以建立两个模块之间的通信机制了。我们通过向 ChannelPipeline 添加自定义的业务处理器,来完成 RPC 框架的远程通信机制。需要实现的主要功能如下:
- 服务消费者实现协议编码,向服务提供者发送调用数据。
- 服务提供者收到数据后解码,然后向服务消费者发送响应数据,暂时忽略 RPC 请求是如何被调用的。
- 服务消费者收到响应数据后成功返回。
文章目录
- RPC 通信方案设计
- 自定义 RPC 通信协议
- 序列化选型
- 协议编码实现
- 协议解码实现
- 请求处理与响应
- 总结
RPC 通信方案设计
结合上面的目标,接下来我们对 RPC 请求调用和结果响应两个过程分别进行详细拆解分析。首先看下 RPC 请求调用的过程,如下图所示。