Kafka流聚合功能是否同时在ram和topic中存储数据?

时间:2019-10-06 11:10:07

标签: java apache-kafka apache-kafka-streams

我是kstream的新手,并且想了解一些流程。

聚合功能正在使用changelog创建一个kafka主题,但是为什么呢?仅用于备份? 据我了解,kstreams需要在本地进行状态存储,那么何时使用主题中的数据?仅当某些操作失败或在应用重启后重新创建状态存储时?

1 个答案:

答案 0 :(得分:2)

为状态存储创建Changelog主题。 尽管状态存储在本地保存,但其值可以远程使用。

如果执行聚合,则可能会发生几种情况:

  1. 应用程序可能崩溃了。
  2. 您可以停止申请
  3. 可能会发生重新平衡。

在这种情况下,需要中间结果来计算最后一个。如果没有带有中间结果的changelog主题,则计算必须从头开始。

我认为changelog主题是关于性能和容错的。

有关Internal topicDuality of streams and tables(变更日志主题)的一些有趣信息。