kafka(七):消息格式

1.kafka消息格式:

(1)一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成
 (2)header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常,是否丢包,数据不一样CRC32算出来的数字也是不一样的)构成。
        当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性
(3)body是由N个字节构成的一个消息体,包含了具体的key/value消息

备注:Kafka 0.10.0之前版本的格式

2.kafka Log消息格式(如下图)

        (1)存储在磁盘的日志采用不同于Producer发送的消息格式,
        (2)每个日志文件都是一个“log entries”序列
            (a)每一个log entry包含一个四字节整型数(message长度,值为1+4+N)
            (b)一个字节的magic
            (c)四个字节的CRC32值
            (d)最终是N个字节的消息数据。每条消息都有一个当前Partition下唯一的64位offset
        (3)其实这个log entries也不是一个文件,是一个index(索引文件)和一个log日志文件

3.参考

1.https://blog.csdn.net/u013256816/article/details/80300225

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值