据我所知,Kafka Streams在内存,磁盘或Kafka主题中本地处理其状态,因为所有输入日期均来自分区,在该分区中,所有消息均以定义的值作为键。大多数情况下,可以在不知道其他处理器状态的情况下完成计算。如果是这样,您将拥有另一个Streams实例来计算结果。就像这张照片:
Flink将其状态确切存储在哪里? Flink可以在本地存储状态吗?还是总是将状态始终发布到所有实例(任务)?是否可以配置Flink以便将状态存储在Kafka代理中?
答案 0 :(得分:2)
Flink还使用本地存储(可以设置密钥),类似于Kafka Streams。但是,它不会将状态写入Kafka主题。
对于容错,它需要存储在可配置状态后端(例如HDFS)中的所谓的“分布式快照”。
查看文档以获取更多详细信息: