1 个回答
Flink中状态后端的类型有:
1、MemoryStateBackend
1、MemoryStateBackend
状态数据存储在 TaskManager 的堆内存 中。
Checkpoint 持久化到 JobManager 内存(默认,不推荐生产环境)。
单 TaskManager 状态总量受 JVM 堆内存限制(默认 5 MB)。
读写速度最快(纯内存操作)。
2、FsStateBackend工作状态存储在 TaskManager 堆内存。
Checkpoint 持久化到 外部文件系统(如 HDFS、S3、本地文件系统)。
单 TaskManager 状态总量受 JVM 堆内存限制(建议不超过 50% 堆内存)。
读写速度较快(内存访问),但需定期同步到磁盘。
3、RocksDBStateBackend工作状态存储在 TaskManager 本地磁盘(通过嵌入式 RocksDB 引擎)。
Checkpoint 持久化到 外部文件系统。
仅受磁盘容量限制,适合 超大状态(TB 级)。
读写速度较慢(磁盘 I/O),但支持 增量 Checkpoint(仅上传变更数据)。
内存中缓存部分数据(Block Cache),缓解磁盘访问瓶颈。
发布于:3周前 (05-16) IP属地:
我来回答
您需要 登录 后回答此问题!