DevilKing's blog

冷灯看剑,剑上几分功名?炉香无需计苍生,纵一穿烟逝,万丈云埋,孤阳还照古陵

0%

Kafka消息格式演进

Kafka消息格式演进

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

较之以前有重大的改变,消息的格式完全变了。。?