java – kafka log-compaction消耗数据

我正在阅读最新版本的kafka中的日志压缩,我很好奇这对消费者有何影响.消费者的工作方式是否与以往一​​样,或者是否有获得所有最新价值的新流程?

使用“标准”Kafka主题,我使用一个使用者组来维护指向最新值的指针.但是,如果卡夫卡基于密钥而不是时间来保持价值,我想知道消费者群体将如何运作?

最佳答案
它不会影响消费者的工作方式.如果您只对每个键的最新值感兴趣并阅读整个主题,您可能仍会看到一个键的“重复”(如果不是所有重复项都被删除,或者在最后一次压缩运行后写入了新消息),那么您只关心关于每个键的最新价值.

关于消费者群体:当主题被压缩时,有效偏移范围内存在“漏洞”.在定期使用主题时,您将自动跳过这些主题.

https://kafka.apache.org/documentation.html#design_compactionbasics

Note also that all offsets remain valid positions in the log,even if the message with that offset has been compacted away; in this case this position is indistinguishable from the next highest offset that does appear in the log. For example,in the picture above the offsets 36,37,and 38 are all equivalent positions and a read beginning at any of these offsets would return a message set beginning with 38.

相关文章

# 前言 现有主流消息中间件都是生产者-消费者模型,主要角色...
错误的根源是:kafka版本过高所致,2.2+=的版本,已经不需要...
DWS层主要是存放大宽表数据,此业务中主要是针对Kafka topic...
不多BB讲原理,只教你怎么用,看了全网没有比我更详细的了,...
终于写完了,其实最开始学kafka的时候是今年2月份,那时候还...
使用GPKafka实现Kafka数据导入Greenplum数据库踩坑问题记录(...