然后我们再来看这个,状态后端,这个是个可插入的组件,他主要是用来管理状态的,比如,对状态的维护,还需要有对状态的容错对吧,所以,首先为了保存状态,都是把状态保存到内存中的,但是为了
容错防止,机器down掉,会丢失状态还需要把状态在硬盘中存储一份.
这些复杂的状态管理,在分布式下如果我们自己实现就非常复杂,但是flink给我们提供了这个状态
管理组件,叫做state backend 状态后端.
可以看到,状态后端主要负责,本地状态管理,以及将检查点checkpoint状态写入远程存储起来.
然后我们再来看一下状态后端组件,都是有哪些.
1.首先看这个MemoryStateBackend,这个是内存级的状态后端组件,这个会将键控状态作为内存对象管理,把键控状态放到taskmanager的jvm堆上,将checkpoint,放到jobmanager的内存中,特点是快,
但是光放到内存中,安全性不好,一般生产环境都不用这个.如果机器坏了容易丢失状态.
2.然后FsStateBac