据我所知,handles kafka在内存、磁盘或kafka主题中本地传输其状态,因为所有的输入日期都来自一个分区,其中所有的消息都由一个定义的值进行键控。大多数情况下,计算可以在不知道其他处理器状态的情况下完成。如果是这样的话,您将有另一个streams示例来计算结果。如图所示:
Flink到底把它的状态存储在哪里?flink是否也可以将状态存储在本地,还是总是将它们发布到所有示例(任务)?是否可以配置flink,以便将状态存储在kafka代理中?
据我所知,handles kafka在内存、磁盘或kafka主题中本地传输其状态,因为所有的输入日期都来自一个分区,其中所有的消息都由一个定义的值进行键控。大多数情况下,计算可以在不知道其他处理器状态的情况下完成。如果是这样的话,您将有另一个streams示例来计算结果。如图所示:
Flink到底把它的状态存储在哪里?flink是否也可以将状态存储在本地,还是总是将它们发布到所有示例(任务)?是否可以配置flink,以便将状态存储在kafka代理中?
1条答案
按热度按时间vecaoik11#
flink也使用本地商店(可以设置关键字),类似于kafka streams。然而,它并没有把状态写进Kafka的主题中。
对于容错,它采用所谓的“分布式快照”,这些快照存储在可配置的状态后端(如hdfs)中。
查看文档了解更多详细信息:
https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/checkpoints.html
https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/stream/state/checkpointing.html
https://ci.apache.org/projects/flink/flink-docs-stable/internals/stream_checkpointing.html
https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/stream/state/state_backends.html