为什么 Kafka Streams 强制对 GlobalKTable 状态存储禁用日志记录?

2023-12-12

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

code:

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

当我重新启动我的卡夫卡应用程序时,全局存储中的所有数据存储都变得干净。我怎样才能做到宽容。


GlobalKTable使用他们的输入主题来保证容错性。因此,我不确定你的意思

当我重新启动我的卡夫卡应用程序时,全局存储中的所有数据存储都变得干净。

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

启用日志记录没有意义,因为每个KafkaStreams实例加载整体GlobalKTable数据(即数据被广播到所有实例)。变更日志主题旨在shareded声明每个分片使用一个主题分区。因此,这两个概念并不一致,而是相互矛盾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Kafka Streams 强制对 GlobalKTable 状态存储禁用日志记录? 的相关文章

随机推荐