一、状态(State)
连续增量的清理过期的 state 数据
Flink 从 1.6 版本开始引入了 Keyed State 的 TTL(time-to-live) 机制。当访问 Keyed State 时,flink 会检查是否过期,并清理已经过期的 state。其他的 state 可以在写 savepoint/checkpoint 时被清理。
Flink 1.8 为 RocksDB state backend 和 heap state backend 引入了连续清理过期数据的机制(1.6 版本只在访问 state 时才会清理)。
详情查看 state-time-to-live-ttl
状态恢复时的 schema 兼容性更强
Flink 1.7 版本增加了对用户自定义的 state schema 兼容性:使得更改 state schema 后,仍然可以从旧的 savepoint/checkpoint 恢复,但是仅完整支持 AvroSerializer 序列化后的结构类型。1.8 版本增加了对 PojoSerializer 和 EnumSerializer 的支持,并且有条件支持 Kryo 格式。具体查看 State Schema Evolution