以下两种保留配置有什么不同?
offsets.retention.minuteslog.retention.minutes我不明白它之间有什么区别或联系。据我理解,一旦移除偏移量,日志中的记录就无法访问,反之亦然。有什么我误解了吗?
发布于 2018-02-28 11:51:29
偏移量是指向使用者使用的最新消息的指针。因此,如果您阅读10条消息,偏移量将移动10个位置。如果偏移量在一段时间内没有更改,offsets.retention.minutes允许您将其移回起始位置。
为了形象化,让我们假设我们把字母a (按这个顺序)放在一个卡夫卡主题中,所有这些都是在不同的时间。在开始使用这些消息之前,偏移量指向最古老的消息:
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,并在11分钟前将a和b放到了主题中,但是其他消息是最近插入的。我们会看到:
OFFSET: *
MESSAGES: c d e f g现在让我们设置offsets.retention.minutes=1,假装我们上次消耗任何东西已经90秒了。我们会看到:
OFFSET: *
MESSAGES: c d e f g因为c现在是关于这个主题的最古老的消息(也是将要使用的第一条消息)。
https://stackoverflow.com/questions/49027929
复制相似问题