Flink中状态后端的类型有哪些?各有什么特点?

提问者:帅平 问题分类:面试刷题
Flink中状态后端的类型有哪些?各有什么特点?
1 个回答
细腻长发姐
细腻长发姐
Flink中状态后端的类型有:
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属地:
我来回答