MemoryStateBackend
内存级的状态后端, 状态保存在TaskManager的JVM堆上, 而将checkpoint存储在JobManager的内存中
特点: 快速, 但是不稳定, 节点挂了就没了, 受内存大小限制, 一般用于本地和测试环境测试
FsStateBackend
将checkpoint存到远程的持久化文件系统(FileSystem)上, 而对于本地状态, 跟MemoryStateBackend一样, 也会存在TaskManager的JVM堆上
同时拥有内存级的本地访问速度, 和更好的容错性, 但是TaskManager也受内存大小限制
RocksDBStateBackend
将所有状态序列化后, 存入本地的RocksDB中存储,
内存中也有状态, 但是更多的是相当于缓存, RocksDB是所有状态, 这样如果是要访问硬盘中的状态速度会稍微慢点, 但是是最稳定的, 不会因为状态而 出现OOM