性能比较差,并且在访问过程中存在额外的序列化和反序列化开销, CPU 的使用量也会明显上升,实际使用的资源成本增加了。3. 业务在 StateBackend 的选型上比较困难。业务很难预估未来任务状态规模会有多大,如果发现状... **和** **State** **封装而成** **,** 它也分为4个部分。1. 第一部分是封装的 Cache,通过把热点数据缓存到 Cache,实现减少序列化/反序列化开销的目的。2. 第二部分是内存预估模块 (MemoryEstimator),根...
2. 在单 Task 的状态比较大时,一般推荐使用 RocksDBStateBackend,由于 State 操作都是随机 IO 类型,在非 SSD 机器上的访问性能比较差,并且在访问过程中存在额外的序列化和反序列化开销, CPU 的使用量也会明显上升... 2. 第二部分是内存预估模块 (MemoryEstimator),根据当前 State 访问使用的 KV 的信息进行状态大小预估,用于估算当前 Cache 占用的内存大小。 3. 第三部分是 PolicyStats,用于统计单个 Cache 的访问信息,并作为指...