【kafka系列教程25】kafka消息格式

kafka消息格式

消息(又名记录)始终是按批次写入。一批消息用技术术语表达就是记录批次,记录批次包含一个或多个记录。 在低性能的情况下,一个批次只有单条消息。记录批次和记录都有自己的头文件。下面介绍了Kafka版本0.11.0及更高版本(消息格式版本v2或magic = 2)的格式。点击此处查看有关邮件格式0和1的详细信息。

5.3.1 消息批次

以下是RecordBatch的磁盘格式。

baseOffset: int64
batchLength: int32
partitionLeaderEpoch: int32
magic: int8 (current magic value is 2)
crc: int32
attributes: int16
    bit 0~2:
        0: no compression
        1: gzip
        2: snappy
        3: lz4
    bit 3: timestampType
    bit 4: isTransactional (0 means not transactional)
    bit 5: isControlBatch (0 means not a control batch)
    bit 6~15: unused
lastOffsetDelta: int32
firstTimestamp: int64
maxTimestamp: int64
producerId: int64
producerEpoch: int16
baseSequence: int32
records: [Record]

请注意,当启用压缩时,压缩记录数据将按照记录数的计数直接序列化的。

CRC涵盖从属性到批次结束的数据(即。CRC之后的所有的字节)。它位于magic字节之后,也就是说,在决定如何解析批次长度和mag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值