Kafka Streams:如何归档具有特定ttl的数据

时间:2017-12-28 06:49:50

标签: apache-kafka-streams rocksdb

Kafka流提供不同的持久性存储,其中一个是RocksDBWindowStore。因此,如果我们设置保留时间,则会在超过保留时间时删除键值对。是否提供了在删除此数据之前可以使用的回调功能?用例 - 我想在将数据从rocksdb中删除之前将数据存档到分布式数据库中。

2 个答案:

答案 0 :(得分:1)

没有回调。

但是,所有数据也会写入Kafka中的主题。因此,您可以使用此主题将数据存档到其他存储中。主题名称为<application.id>-storeName-changelog

答案 1 :(得分:0)

虽然没有回调,但Rocksdb本质上是一个按键排序的排序数据库。所以,我使用了两个存储,一个基于时间戳(树形图的种类),它包含一组键和另一个原始键值。因此,我可以迭代基于时间戳的存储并从其他存储中存档键值对,然后从两个存储中删除键,这些键需要在特定时间后存档。