我知道默认 TTL 设置为无穷大(非正值)。但是,如果我们需要在存储中保留数据最多 2 天,我们是否可以使用 RocksDBConfigSetter 接口(interface)实现来覆盖,即 options.setWalTtlSeconds(172800)?或者它会与 Kafka 流内部结构冲突吗?
最佳答案
目前这是不可能的。由于各种技术原因,Kafka Streams 以硬编码的方式禁用了 RocksDB 的 TTL 功能。还有一张票:https://issues.apache.org/jira/browse/KAFKA-4212
目前,您可以使用窗口存储在 2 天后使旧记录过期。即,您使用 1ms 的 TimeWindow
和“虚拟”减少了只需返回键的最新值。
关于apache-kafka - 卡夫卡流 : RocksDB TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070790/