TianEx / Blog

My blog ~
1 stars 0 forks source link

Kafka日志合并(Log compaction) #29

Open TianEx opened 5 years ago

TianEx commented 5 years ago

Kafka中的Log compaction是在默认的日志删除机制之外提供的一种用于清理过期的数据方式,Log compaction对于有相同的key但是不同value值的消息只选择保留最新一个版本。所以如果应用只关心消息的最新value值,那么可以通过开启kafka的Log compaction功能,定期合并具有相同key的消息(其中保留最新value值)。

Log compaction执行时,Log segment中的每条消息的offset都和写入时的保持一致,此时会生成新的Log segment文件,并且其中的每条消息的物理位置都会按照新文件进行组织(此时offset将不再是连续的)。

。。。