【问题标题】:Kafka KStream to KStream join | restart performanceKafka KStream 到 KStream 加入 |重启性能
【发布时间】:2020-04-21 23:27:01
【问题描述】:

我计划在很长一段时间内(约 1 周)将两个主题作为 KStreams 加入。假设这个窗口会累积上亿条记录,加入的消费者需要多长时间才能重启?我之所以问这个问题是因为我无法找到有关该窗口中有多少记录存储在消费者缓存中的信息。

【问题讨论】:

    标签: performance caching apache-kafka apache-kafka-streams kafka-join


    【解决方案1】:

    默认情况下,缓存在窗口中的数据存储在 RocksDB 中,即本地磁盘。因此,在重启时(在同一台机器上)不需要重新加载数据,因为数据已经可用。

    如果您在另一台机器上重新启动,则需要从 Kafka 主题(备份存储以保证容错)重新读取存储的全部内容。这需要多长时间取决于许多因素,而且很难估计。您可以注册一个“恢复回调”来监控恢复过程。这应该为您提供一些方法来运行一些实验,以了解可能需要多长时间。

    【讨论】:

    • 如果分配了不同的分区,是否所有 Kafka 主题分区的数据都存储在本地?
    • 只有来自指定分区的数据会被存储在本地。如果一个分区被“移走”,本地存储将在可配置的时间(默认为 10 分钟)后被删除
    猜你喜欢
    • 2022-10-24
    • 2018-09-18
    • 2019-09-28
    • 2020-05-02
    • 2018-02-23
    • 2018-08-30
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多