Kafka消息编解码器 - 压缩和解压缩

for*_*has 4 compression apache-kafka

使用kafka时,我可以通过设置kafka生成器的kafka.compression.codec属性来设置编解码器.

假设我在我的制作人中使用snappy压缩,当使用kafka-consumer消费来自kafka的消息时,我应该做什么来解决来自snappy的数据,还是kafka消费者的一些内置功能?

相关文档中,我找不到任何与kafka消费者编码相关的属性(它只与生产者有关).

有人可以清除这个吗?

use*_*864 12

根据我的理解,去压缩由消费者自己照顾.正如他们在官方维基页面中提到的那样 The consumer iterator transparently decompresses compressed data and only returns an uncompressed message

如发现文章消费者的工作方式如下:

消费者具有后台"fetcher"线程,这些线程连续从经纪人那里以1MB的批量获取数据并将其添加到内部阻塞队列.使用者线程从此阻塞队列中取消数据,解压缩并迭代消息

并且在端到端批量压缩下的doc页面中写了它

可以将一批消息压缩在一起压缩并以此形式发送到服务器.这批消息将以压缩形式写入,并将在日志中保持压缩状态,并且只能由消费者解压缩.

所以看起来解压缩部分是在消费者自己处理的,你需要做的就是compression.codec在创建生产者时使用ProducerConfig属性提供有效/支持的压缩类型.我找不到任何示例或解释说明消费者端的任何减压方法.如果我错了,请纠正我.