摘要:压缩概括需要理解压缩则需要理解的存储格式存储格式图片来源推荐阅读该文章来更好的了解消息格式演变过程消息比较用可视化的方式分析变长弃用变长变长变长变长变长开启消息压缩上面是未压缩的数据结论消息压缩只是针对部分
Kafka压缩 概括
需要理解kafka压缩则需要理解Kafka的存储格式.
Kafka存储格式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 4: zstd 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]
Record
length: varint attributes: int8 bit 0~7: unused timestampDelta: varint offsetDelta: varint keyLength: varint key: byte[] valueLen: varint value: byte[] Headers => [Header]
Record Header
headerKeyLength: varint headerKey: String headerValueLength: varint Value: byte[]
Note: 图片来源.推荐阅读该文章来更好的了解Kafka消息格式演变过程.
消息比较0000 0000 0000 0000 0000 0040 0000 0000 02e3 0171 9400 0000 0000 0000 0001 6ad9 0153 7e00 0001 6ad9 0153 7eff ffff ffff ffff ffff ffff ffff ff00 0000 011c 0000 0006 6b65 790a 7661 6c75 6500 0000 0000 0000 0001 0000 0054 0000 0000 02e5 cb48 0600 0100 0000 0000 0001 6ad9 5427 af00 0001 6ad9 5427 afff ffff ffff ffff ffff ffff ffff ff00 0000 011f 8b08 0000 0000 0000 0093 6160 6060 cb4e ade4 2a4b cc29 4d65 0000 55dc 0454 0f00 0000用可视化的方式分析
76B =======================Header============================ 0000 0000 0000 0000 => first offset => 0 0000 0040 => length => 64 0000 0000 => partition leader epoch => 0 02 => magic => 2 e3 0171 94 => crc32 => 3808522644 00 00 => attributes => 0 00 0000 00 => last offset delta => 0 00 0001 6ad9 0153 7e => first timestamp => 1558418903934 00 0001 6ad9 0153 7e => max timestamp => 1558418903934 ff ffff ffff ffff ff => producer id => -1 ff ff => producer epoch => -1 ff ffff ff => first sequence => -1 00 0000 01 => record count => 1 =======================Records=========================================== 1c => length(变长) => 14 00 => arrtibutes => 弃用 00 => timestamp delta(变长) => 0 00 => offset delta(变长) => 0 06 => key length(变长) => 3 6b65 79 => key => "key" 0a => value length(变长) => 5 7661 6c75 65 => value => "value" 00 => headers counts(变长) => 0
开启消息压缩
0000 0000 0000 0000 0000 0040 0000 0000 02e3 0171 9400 0000 0000 0000 0001 6ad9 0153 7e00 0001 6ad9 0153 7eff ffff ffff ffff ffff ffff ffff ff00 0000 011c 0000 0006 6b65 790a 7661 6c75 6500 ================上面是76B未压缩的数据===================== 0000 0000 0000 0001 first offset 0000 0054 length 0000 0000 partition leader epoch 02 magic e5 cb48 06 crc32 00 01 attributes 00 0000 00 last offset delta 00 0001 6ad9 5427 af first timestamp 00 0001 6ad9 5427 af max timestamp ff ffff ffff ffff ff producer id ff ff producer epoch ff ffff ff first sequence 00 0000 01 record count 1f 8b08 0000 0000 0000 0093 6160 6060 cb4e ade4 2a4b cc29 4d65 0000 55dc 0454 0f00 0000结论
消息压缩只是针对records部分.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/34019.html
摘要:前言上一篇文章大数据实践生产者编程详解上中,对的相关配置项进行了部分介绍,在本文章中,将继续完成剩下配置项的介绍。在前面的文章大数据实践生产者编程中,对有详细讲解。重要性低类型默认值,表示不能被使用配置,用于事务的递交。 前言 上一篇文章【大数据实践】Kafka生产者编程(4)——ProducerConfig详解(上)中,对kafka producer的相关配置项进行了部分介绍,在本文...
摘要:前言上一篇文章大数据实践生产者编程详解上中,对的相关配置项进行了部分介绍,在本文章中,将继续完成剩下配置项的介绍。在前面的文章大数据实践生产者编程中,对有详细讲解。重要性低类型默认值,表示不能被使用配置,用于事务的递交。 前言 上一篇文章【大数据实践】Kafka生产者编程(4)——ProducerConfig详解(上)中,对kafka producer的相关配置项进行了部分介绍,在本文...
摘要:设计与原理详解应用场景日志收集消息系统解耦生产者和消费者缓存消息。流式处理比如的发布对象是。在中,当前消息的是由来维护的。通常情况下,这被认为与常数时间等价,但这对磁盘操作来说是不对的。为了解决这个问题,设计了一个标准字节消息。 Kafka 设计与原理详解 [TOC] kafka 应用场景 日志收集 消息系统 解耦生产者和消费者、缓存消息。 用户活动跟踪: 就是我们在做的。 运营指标...
摘要:重连间隔时间,避免客户端过于紧密循环地重连服务。重要性低类型默认值毫秒客户端连接一个服务失败重连的总时间,每次连接失败,重连时间都会指数级增加,每次增加的时间会存在的随机抖动,以避免连接风暴。 前言 前面的文章对producer流程及其可自定义的配置类做了大体介绍,本文将继续对Kafka生成者编程相关知识点进行讲解。ProducerConfig类存放着producer客户端可配置的项以...
摘要:重连间隔时间,避免客户端过于紧密循环地重连服务。重要性低类型默认值毫秒客户端连接一个服务失败重连的总时间,每次连接失败,重连时间都会指数级增加,每次增加的时间会存在的随机抖动,以避免连接风暴。 前言 前面的文章对producer流程及其可自定义的配置类做了大体介绍,本文将继续对Kafka生成者编程相关知识点进行讲解。ProducerConfig类存放着producer客户端可配置的项以...
阅读 1714·2021-11-22 15:25
阅读 1047·2021-11-19 09:40
阅读 2928·2021-10-14 09:42
阅读 1657·2021-09-27 13:57
阅读 825·2021-09-22 15:10
阅读 826·2021-08-16 11:01
阅读 2742·2021-07-23 17:51
阅读 592·2019-08-30 15:55