【发布时间】:2020-04-21 23:27:01
【问题描述】:
我计划在很长一段时间内(约 1 周)将两个主题作为 KStreams 加入。假设这个窗口会累积上亿条记录,加入的消费者需要多长时间才能重启?我之所以问这个问题是因为我无法找到有关该窗口中有多少记录存储在消费者缓存中的信息。
【问题讨论】:
标签: performance caching apache-kafka apache-kafka-streams kafka-join
我计划在很长一段时间内(约 1 周)将两个主题作为 KStreams 加入。假设这个窗口会累积上亿条记录,加入的消费者需要多长时间才能重启?我之所以问这个问题是因为我无法找到有关该窗口中有多少记录存储在消费者缓存中的信息。
【问题讨论】:
标签: performance caching apache-kafka apache-kafka-streams kafka-join
默认情况下,缓存在窗口中的数据存储在 RocksDB 中,即本地磁盘。因此,在重启时(在同一台机器上)不需要重新加载数据,因为数据已经可用。
如果您在另一台机器上重新启动,则需要从 Kafka 主题(备份存储以保证容错)重新读取存储的全部内容。这需要多长时间取决于许多因素,而且很难估计。您可以注册一个“恢复回调”来监控恢复过程。这应该为您提供一些方法来运行一些实验,以了解可能需要多长时间。
【讨论】: