【问题标题】:Kafka: How to get last modified time for a topic i.e. last message added to any partition of the topicKafka:如何获取主题的最后修改时间,即添加到主题的任何分区的最后一条消息
【发布时间】:2015-07-31 16:47:45
【问题描述】:

我们的用例是从 kafka 中删除过时/未使用的主题,即如果一个主题(在所有分区上)在过去 7 天内没有任何新消息,那么我们会将其视为过时/未使用并将其删除。

许多谷歌搜索结果建议在消息中添加时间戳,然后对其进行解析。对于新的主题和消息,灵魂可以工作,但我们现有的主题和消息中没有任何时间戳。

我怎样才能让它工作?

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

    kafka.api.OffsetRequest.LatestTime() 将返回添加到队列中的最新消息。您可以使用Simple Consumer API 来确定要读取的偏移量。

    更多详情请查看wiki页面

    【讨论】:

    • 使用 latestTime() 我们可以获得消息的最后一个偏移量,但它不会给我它的时间戳,即当该消息被插入队列时。要确定是否过时的主题,我需要知道消息是否超过 7 天。
    • 如果您不需要超过 7 天的消息,那么为什么还要将它们排在队列中?此外,您可以在生产时放置时间戳,并使用简单的消费者在消费者端跟踪它们
    猜你喜欢
    • 2020-02-08
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多