在Kafka流中是否有任何冷启动持久存储的选项?

问题描述 投票:0回答:1

我一直在kafka-streams工作几个月。我们使用RocksDB来存储数据。现在,changelog主题只保留数天的数据,如果我们的应用程序的持久存储有几个月的数据。如果将分区从一个节点移动到另一个节点(我认为,通过更改日志发生),将如何恢复存储状态。

此外,如果节点包含活动任务并且引入了新节点。因此,副本将被提升为活动状态,并且新副本将开始在此新节点上构建。因此,如果更改日志只有几天的数据,则新副本将只包含该数据,而不是原始的几个月。

那么,是否有任何选项可以将数据从活动商店传输到副本而不是更改日志(因为它只有一小部分数据)。

apache-kafka-streams
1个回答
0
投票

用于备份存储的更改日志主题没有保留时间,但配置了启用了log-compaction(cf.https://kafka.apache.org/documentation/#compaction)。因此,无论您运行多长时间,都可确保不会丢失任何数据。 changelog主题将始终包含与RocksDB商店完全相同的数据。

因此,对于故障转移或横向扩展,当任务迁移并且需要重建存储时,它将是原始存储的完整副本。

© www.soinside.com 2019 - 2024. All rights reserved.