当前位置:   article > 正文

有状态流处理:Flink 状态后端_flink切换数据源时候状态后端

flink切换数据源时候状态后端

传送门:Flink 系统性学习笔记


Flink 1.12.0

这篇文章我们将深入探讨有状态流处理,更确切地说是 Flink 中可用的不同状态后端。在以下部分,我们将介绍 Flink 的3个状态后端,看一下它们的局限性以及如何根据具体案例需求选择最合适的状态后端。

在有状态的流处理中,当启用了 Flink 的检查点功能时,状态会持久化存储以防止数据的丢失并确保发生故障时能够完全恢复。为应用程序选择何种状态后端,取决于状态持久化的方式和位置。

Flink 提供了三种可用的状态后端:MemoryStateBackend,FsStateBackend 以及 RocksDBStateBackend。

在这里插入图片描述

1. MemoryStateBackend

MemoryStateBackend 是将状态维护在 Java 堆上的一个内部状态后端。KeyedState 以及窗口算子都使用哈希表来存储数据值以及定时器。当应用程序进行 Checkpoint 时,状态后端会在将状态发给 JobManager 之前对状态进行快照,JobManager 会将状态存储在 Java 堆上。MemoryStateBackend 默认支持异步快照。异步快照可以避免阻塞数据流处理,从而避免发生反

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/921707
推荐阅读
相关标签
  

闽ICP备14008679号