从抽象的角度来看,Apache Kafka将数据存储在主题中。这些数据可以由消费者阅读。
我希望有一个(监视器) - 消费者,它可以抓住一定年龄的数据。监视器应向子系统发送警告,表示记录仍未读取,如果卡夫卡达到保留时间,将被Kafka丢弃。
直到现在我还找不到合适的方式。答案 0 :(得分:2)
您可以使用KafkaConsumer.offsetsForTimes()
将消息映射到日期。
例如,如果您使用昨天的日期调用它并返回偏移量X,则任何偏移量小于X的消息都比昨天早。
然后,如果您有丢弃未处理记录的风险,您的逻辑可以从消费者的当前位置中找出答案。
请注意,目前正在讨论KIP,以公开指标来跟踪:https://cwiki.apache.org/confluence/display/KAFKA/KIP-223+-+Add+per-topic+min+lead+and+per-partition+lead+metrics+to+KafkaConsumer