kafka streams app - 重启时忽略旧消息

时间:2017-11-15 12:33:23

标签: apache-kafka apache-kafka-streams

我处理实时应用程序的时间序列数据。所以旧数据没有意义。我只想处理流应用程序启动后收到的数据,而不是之前提交的偏移量。重启后忽略kafka流应用程序上的旧记录的正确方法是什么?

使用kafka使用者API我通常使用seekToEnd()方法跳转到最新记录。流是否有相同的机制? 我想避免过滤自上次提交以来忽略旧消息的所有消息。

1 个答案:

答案 0 :(得分:0)

您可以使用Kafka Consumer API创建另一个使用者,groupId与kafka-stream的applicationId相同,并在启动流之前使用该使用者执行seekToEnd()。禁用此特殊使用者的autoCommit,并在seekToEnd()之后手动提交偏移量。然后尝试启动你的流。

确保在重置消费者的偏移量提交之前,流尚未启动。