文件名称:消息格式-树莓派python编程指南
文件大小:3.8MB
文件格式:PDF
更新时间:2024-07-21 13:27:43
kafka官方文档 kafka kafka中文 kafka文档
5.3 消息格式 消息通常按照批量的⽅式写⼊.record batch 是批量消息的技术术语,它包含⼀条或多条 records.不良情况下, record batch 只包含⼀条 record. Record batches 和 records 都有他们⾃⼰的 headers.在 kafka 0.11.0及后续 版本中(消息格式的版本为 v2 或者 magic=2)解释了每种消息格式.点击查看消息格式详情. 5.3.1 Record Batch 以下为 RecordBatch 在硬盘上的格式. 请注意,启⽤压缩时,压缩的记录数据将直接按照记录数进⾏序列化。 CRC(⼀种数据校验码) 会覆盖从属性到批处理结束的数据, (即 CRC 后的所有字节数据). CRC 位于 magic 之后, 这意味着,在决定如何解释批次的⻓度和 magic 类型之前,客户端需要解析 magic 类型.CRC 计算不包括分区 learder epoch 字段,是为了避免 broker 收到每个批次的数据时 需要重新分配计算 CRC . CRC-32C (Castagnoli) 多项式⽤于计算. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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] 59