是否可以将Kafka配置为不删除未读邮件?

时间:2018-04-04 15:40:28

标签: apache-kafka kafka-producer-api apache-kafka-streams

我完全清楚Kafka是一个日志并且充当哑管。但是在我们的应用程序中,我们有一些"合规性主题",我们需要确保读取内部的所有消息。

由于Kafka内部处理所有消费者的抵消(因此可以监控消费者滞后),我想知道,如果可以设置log.retention=25GB,但不要覆盖消息,这些消息是不被任何人阅读,而是抛出生产者异常(好像我们设置log.retention=1week并且硬盘已满)。

如果无法在Kafka级别上配置它,是否有任何实用的方法如何在kafka-producer或kafka-streams上实现此逻辑,因此在"完整未读日志的情况下它会失败#34 ;

1 个答案:

答案 0 :(得分:1)

您无法配置Kafka以保留未读邮件。但是,您可以使用新的"清除数据"手动增加保留时间/空间并手动删除数据。 API。

有关详细信息,请参阅https://cwiki.apache.org/confluence/display/KAFKA/KIP-107%3A+Add+deleteRecordsBefore%28%29+API+in+AdminClient

相关问题