gpt4 book ai didi

apache-kafka-streams - 为什么 Kafka Streams 强制禁用 GlobalKTable 状态存储的日志记录?

转载 作者:行者123 更新时间:2023-12-01 12:09:53 25 4
gpt4 key购买 nike

为什么全局表不能在kafka中启用日志记录?

代码:

if (loggingEnabled) {
throw new TopologyException("StateStore " + storeName + " for global table must not have logging enabled.");
}

当我重新启动我的 kafka 应用程序时,globalstore 中的所有数据存储都变得干净了。我怎么能让它容忍。

最佳答案

GlobalKTable 使用它们的输入主题来保证容错。因此,我不确定您的意思是什么

When I am restarting my kafka application all the datastore in globalstore is getting clean.

只要输入主题正确配置并启用日志压缩,即使您在本地删除状态,GlobalKTable 状态也会在启动时重新创建。

启用日志记录没有意义,因为每个 KafkaStreams 实例加载整个 GlobalKTable 数据(即,数据被广播到所有实例)。变更日志主题是为共享 状态而设计的,尽管每个分片使用一个主题分区。因此,这两个概念并不一致,而是相互矛盾。

关于apache-kafka-streams - 为什么 Kafka Streams 强制禁用 GlobalKTable 状态存储的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707748/

25 4 0