RocketMQ通信协议
文章目录
- 通讯协议
-
- Header data
-
- code
- language
- version
- opaque
- flag
- remark
- extFields
RocketMQ的通信协议其实很简单,但是无论是官方的用户手册,还是网上的博客,并没有很清晰简单地把其中所有的内容和原理讲明白。 对于需要扩展其他语言SDK的开发来说,意味着必须要深入到Java源码才能弄懂其概念。
注:现最新版RocketMQ已经可以支持Protobuf协议,但本文只探究默认的基于JSON的协议。
无论是发送消息,拉取消息,还是发送心跳等所有的网络通讯层协议(客户端与broker/nameserver间,broker与nameserver间)都使用一套一样的协议。并且无论请求还是响应,协议是一样的,协议头的字段也是固定的。
通讯协议
协议分为以下四部分: