kafka 0.7.x
Message Format
magic | Attribute | Crc | Value |
---|---|---|---|
Message Set
offset | size | Message |
---|---|---|
magic: 1个字节,标识kafka版本,1个字节
attribute: 存储消息压缩所使用的编码, 1个字节
crc: 校验消息的内容, 4个字节
value: N-6个字节,N为Message总字节数,
message set中
offset: 8个字节,存储到磁盘之后的物理偏移量
size: 4个字节,消息的大小
发送以message set为单位进行发送,压缩的话,也是以message set的方式进行压缩,也就是value部分,以message set的方式,多条message
kafka 0.8.x
增加了key相关的信息,以及内容的长度,不再通过特定的N-6这种方式来标明
crc | magic | Attribute | key length | key | value length | Value |
---|---|---|---|---|---|---|
如果进行多条消息的压缩的话,这样,会缺少key部分的存储,而且这时候value为压缩之后的消息内容
kafka 0.10.x
引入了kakfka stream部分
crc | magic | Attribute | Timestamp | key length | key | value length | Value |
---|---|---|---|---|---|---|---|
kafka 0.11.x
较之以前有重大的改变,消息的格式完全变了。。?