RPC消费者服务设计实现
1.概述
之前我们通过几篇文章讲解了Dolphinscheduler中RPC框架服务的一些底层实现设计以及RPC提供者服务端的设计实现, 下面我们继续来看看针对RPC消费者端看看,它又是怎么进行的设计实现。
一个完整的RPC框架肯定是既包含提供者服务也包含消费者服务的,这样其他服务在使用我们的框架时只要启动我们的RPC提供者服务,然后再通过我们的RPC消费者服务对外暴露的API方法就可以进行应用层的业务数据交互了。所以我们在进行RPC消费者服务设计实现时需要尽可能将所有底层通信细节屏蔽到框架内部,其他服务只需要进行简单的配置即可借助RPC消费者服务实现远程过程调用,这样才能收获使用的青睐。
话不多说,我们开始。
2.RPC消费者服务设计
如果屏蔽掉基于Netty与服务提供者建立连接的通信细节,那RPC消费者服务与服务提供者之间基于自定义的网络传输协议、数据编解码实现数据交互整体流程如下图
1)服务消费者基于Netty与服务提供者建立底层通信连接通道。
2)服务消费者基于自定义网络传输协议和数据编解码对数据进行编码处理,向服务提供者发送数据。
3)服务提供者接收到服务消费者发送过来的数据后,根据自定义网络协议和数