代码之家  ›  专栏  ›  技术社区  ›  Nicolas Henneaux

保留配置偏移之间的差异。保持会议记录和日志。保持分钟

  •  9
  • Nicolas Henneaux  · 技术社区  · 6 年前

    以下两种保留配置之间有什么区别?

    • offsets.retention.minutes
    • log.retention.minutes

    我不明白它之间有什么不同或联系。据我所知,一旦删除偏移量,日志中的记录将无法访问,反之亦然。有什么我误解了吗?

    1 回复  |  直到 5 年前
        1
  •  25
  •   Ben Watson    6 年前

    偏移量是指向消费者已使用的最新消息的指针。因此,如果您阅读10条消息,偏移量会移动10个位置。 offsets.retention.minutes 允许您在设定的时间段内未更改偏移量时将其移回起始位置。

    为了形象化,我们假设 a g (按顺序)在卡夫卡主题中,在不同的时间。在开始使用消息之前,偏移量指向最旧的消息:

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

    现在我们使用3条消息( , b , c )因此偏移量移动:

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

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

    OFFSET:          *
    MESSAGES:      c d e f g
    

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

    OFFSET:        *  
    MESSAGES:      c d e f g
    

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

    推荐文章