当前位置:   article > 正文

从0到1Flink的成长之路(二十)-Flink 高级特性(二)之无状态和有状态计算_有状态计算和无状态计算

有状态计算和无状态计算

无状态和有状态计算

1 无状态计算
无状态(Stateless)计算特性:
不需要考虑历史数据
相同的输入得到相同的输出
如map、filter、flatMap等方法

在这里插入图片描述
首先举一个无状态计算的例子:消费延迟计算。
假设现在有一个消息队列,消息队列中有一个生产者持续往消费队列写入消息,多个消费者分别从消息队列中读取消息。从图上可以看出,生产者已经写入 16 条消息,Offset 停留在 15 ;有 3 个消费者,有的消费快,而有的消费慢。消费快的已经消费了 13 条数据,消费者慢的才消费了 8 条数据。
在这里插入图片描述
如何实时统计每个消费者落后多少条数据,如图给出了输入输出的示例。可以了解到输入的时间点有一个时间戳,生产者将消息写到了某个时间点的位置,每个消费者同一时间点分别读到了什么位置。刚才也提到了生产者写入了 15 条,消费者分别读取了 10、7、12 条。那么问题来了,怎么将生产者、消费者的进度转换为右侧示意图信息呢?
在这里插入图片描述

consumer 0 落后了 5 条,cons

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号