我正在使用Flink键控状态和TTL。
我的应用程序不断接收数据,并通过id使其保持键控状态,我想要实现以下目的的TTL清除策略:
数据在上次更新后2天过期。
状态会定期清除-即使不再完全访问某些键状态,也将在某些时候从堆和备份中清除状态。 (检查点/保存点/其他)
现在我有:
static StateTtlConfig ttlConfig = StateTtlConfig
.newBuilder(Time.days(2))
.neverReturnExpired()
.updateTtlOnCreateAndWrite()
.build();
但是我不知道是否应该使用:
cleanupFullSnapshot , cleanupIncrementally 还是其他策略?
当前,我在RocksDB中使用备份,但是无论如何我都必须从堆中清除状态。
谢谢