保留配置offsets.retention.minutes和log.retention.minutes之间的差异

nfzehxib  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(422)

以下两种保留配置之间有什么区别?
offsets.retention.minutes log.retention.minutes 我不明白它们之间有什么不同或联系。据我所知,一旦删除了偏移量,日志中的记录就无法访问,反之亦然。有什么我误解了吗?

tvmytwxo

tvmytwxo1#

偏移量是指向使用者已使用的最新消息的指针。所以如果你读10条信息,偏移量会移动10个位置。 offsets.retention.minutes 允许您将偏移移回起始位置(如果在设定的时间段内未更改)。
想象一下,假设我们把字母 ag (按顺序)Kafka的主题,都是在不同的时间。在开始使用消息之前,偏移量指向最早的消息:

OFFSET:    *
MESSAGES:  a b c d e f g

现在我们消耗3条信息( a , b , c )所以偏移移动:

OFFSET:          *
MESSAGES:  a b c d e f g

现在让我们假装我们 log.retention.minutes=10 ,我们把 a 以及 b 11分钟前的主题,但其他信息是最近插入的。我们会看到:

OFFSET:          *
MESSAGES:      c d e f g

现在让我们开始 offsets.retention.minutes=1 ,然后假装我们上次吃东西已经90秒了。我们会看到:

OFFSET:        *  
MESSAGES:      c d e f g

因为 c 现在是主题上最早的消息(也是将要使用的第一条消息)。

相关问题