【问题标题】:Apache Kafka - KStream and KTable hard disk space requirementsApache Kafka - KStream 和 KTable 硬盘空间要求
【发布时间】:2020-01-08 21:46:51
【问题描述】:

我试图更好地了解创建 KStream 和 KTable 时资源级别会发生什么。下面,我将提到我得出的一些结论,据我所知(请随时纠正我)。

首先,每个主题都有多个分区,这些分区中的所有消息都以连续的顺序存储在硬盘中。

KStream 不需要将从主题读取的消息再次存储到另一个位置,因为偏移量足以从连接到的主题中检索这些消息。 (这样说对吗?)

这个问题是关于 KTable 的。据我了解,与 KStream 相比,KTable 使用相同的密钥更新每条消息。为此,您必须在外部将来自主题的消息存储到静态表中,或者在每次有新消息到达时读取所有消息队列。后者在时间性能方面似乎不是很有效。我提出的第一种方法是否正确?

【问题讨论】:

    标签: apache-kafka apache-kafka-streams ktable


    【解决方案1】:

    读取所有消息队列,每次有新消息到达。

    所有消息仅在应用程序重新启动时读取。一旦应用读取到最新的偏移量,它就会像任何其他消费者一样更新表

    如何确定磁盘使用量最终取决于您为应用程序配置的状态存储,以及它自己的设置。例如,内存中、rocksdb 与您自己编写的外部状态存储接口

    【讨论】:

      猜你喜欢
      • 2022-12-02
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      • 2020-04-24
      相关资源
      最近更新 更多