1.概述
RPC作为分布式系统底层通信的基础设施框架,主要进行远程过程调用,设计这种服务端、客户端程序,肯定会涉及到网络传输。通常情况中,只要是涉及到数据在网络过程中传输,都是要通过某种协议进行的。例如HTTP/TPC/UDP协议等。
数据由发送方发送到接收方之前,会通过某种协议将其编码成二进制流,通过网络将二进制流传输到接收方后,会根据协议将其解码成对应的数据。当接收方处理完数据返回结果前,也需要先通过协议将返回的数据编码成二进制流,通过网络传输到发送方后,根据协议将二进制数据解码成对应的数据。大致实现流程如下:

dolphinscheduler中RPC框架的实现中也进行了自定义的网络传输协议的设计, 下面我们一起通过源码看看这块的内容。
2.自定义传输协议设计
如果让你设计一个网络传输协议, 你想想你会怎么设计?一般情况下,网络传输协议的设计基本都会包含消息头和消息体这两部分

一个完整的网络传输协议可以分为消息头和消息体。
消息头中主要存放的是一些对应整个消息的定义信息,比如协议的类型、状态、消息id、消息的长度等信息。
消息体中主要存放的就是具体数据内容。
我们一起来看看dolph
订阅专栏 解锁全文
748

被折叠的 条评论
为什么被折叠?



