Kafka Streams:StateRestoreListener何时被调用



我已将我的kafka流实例与org.apache.kafka.streams.processor.StateRestoreListener接口的实现连接起来。我使用了处理器API来定义我的流,它有一个状态存储。流的工作基本上是从输入主题中读取数据,并将数据存储在状态存储中。

我想知道在什么情况下会调用StateRestoreListener。

当我第一次启动流时,它会被调用吗?

当我启动另一个实例时,它会被调用吗?

当我停止某个实例时,它会被调用吗?

并且在每种情况下。。什么方法可以调用?

当我第一次启动流时,它会被调用吗?

否,因为当您第一次启动时,状态存储为空,因此没有什么可恢复的。

当我启动另一个实例时,它会被调用吗?

将发生的部分状态迁移到新启动的实例。侦听器将仅在新实例上调用,而不在现有实例上调用。因为现有实例不需要恢复任何内容。

当我停止某个实例时,它会被调用吗?

是的,这与上面的情况类似。停止的实例的状态将迁移到另一个(或多个(仍在运行的实例,这些实例将恢复状态,从而调用侦听器。

并且在每种情况下。。什么方法可以调用?

这三个方法都将被调用。";"开始";以及";结束";回调一次,第三次回调在恢复期间定期报告进度。

相关内容

  • 没有找到相关文章

最新更新