目录
动机
- 偶尔会有同事问tup怎么组包的,或者tars协议如何序列化以及反序列化之类的问题.
- 一次tup协议的编解码bug修复,并贡献到tars 官方. 有兴趣可以参考源码贡献部分.
- 提供一个协议层面的测试和调试的公共代码,参考协议代码部分.
- 这篇文章希望对于新人同学的协议理解有所帮助, 也加深自己对于协议的理解.
编解码流程
一般客户端到服务端的数据交互流程如下:
* 客户端原始请求数据---->序列化---->服务端
* 服务端---->反序列化---->原始请求数据
* 服务端原始返回数据---->序列化----->客户端
* 客户端----->反序列化----->原始返回数据