Advertisement

流处理系统的学习指南(Flink, Kafka和Pravega)

阅读量:

本人整理了一些关于实时流处理的知识点,并涵盖Flink等计算平台、Pravega等存储方案以及消息队列Kafka的应用范围。这些内容将从理论基础分为四个主要模块进行学习:数据采集、数据存储、数据传输以及数据处理技术的综合运用。如有不足之处,请在评论区指出;后续会持续补充和完善这些内容

理论知识

有状态的流计算

其特点是在流水处理过程中仅需对单条信息进行操作,在这种情况下所得的结果仅受当前这条信息的影响。例如,在每条信息后附加字符"a"

在消息处理过程中需要保留前后几条相关的信息即为有状态,在这种情况下其结果会受到多条信息的影响例如计数器(count)以及平均值(average)等操作。因此这类操作虽然功能强大但在实现上却相对复杂尤其是当该机制支持‘恰好一次’特性时更是如此

流消息的三种语义

  • At most Once

接收者最多收到一次消息

  • At Least Once

发送方向另一方传递信息,并持续若未能收到确认数据,则该一方将反复重传

  • Exactly Once

接收方必须确保仅接收一条消息。每一个输入事件最终只会作用于结果一次;即使机器或软件发生故障,则不仅避免出现重复的数据,并且防止丢失任何数据。

不管处理时候有没有错误发生,计算的结果都应该是一样的。

因此,在计算的过程中出现错误时(...),系统

全部评论 (0)

还没有任何评论哟~