无论如何,kafka stream应用程序中的不同输入主题是否可以使用不同的auto.offset.reset策略?

时间:2018-11-09 18:41:54

标签: apache-kafka apache-kafka-streams

用例是:我有一个kafka流应用程序,该应用程序从输入主题中使用,然后输出到一个中间主题,然后在同一流中从该中间主题中使用另一个拓扑。

每当更新应用程序ID时,这两个主题都最早从消费者开始。我想将中间主题的auto.offset.reset更改为最新,同时将输入主题的auto.offset.reset保留为最早。

1 个答案:

答案 0 :(得分:1)

是的。您可以通过以下方式为每个主题设置重置策略:

// Processor API
topology.addSource(AutoOffsetReset offsetReset, String name, String... topics); 

// DSL
builder.stream(String topic, Consumed.with(AutoOffsetReset offsetReset));
builder.table(String topic, Consumed.with(AutoOffsetReset offsetReset));

所有这些方法都有一些重载,可以对其进行设置。