Flink基础教程

文章目录第1章 为何选择Flink第2章 流处理架构2.2 消息传输层和流处理层2.3 消息传输层的理想功能2.3.1 兼具高性能和持久性2.3.2 将生产者和消费者解耦2.4 支持微服务架构的流数据2.4.1 数据流作为中心数据源第4章 对时间的处理4.1 采用批处理架构和Lambda架构4.2 采用流处理架构4.3 时间概念4.4 窗口4.4.1 时间窗口4.4.2 计数窗口4.4.3 会话窗口4.4.4 触发器4.4.5 窗口的实现4.5 时空穿梭4.6 水印第5章 有状态的计算5.2 检查点:保证e
摘要由CSDN通过智能技术生成

第1章 为何选择Flink

Apache Flink 是为分布式、高性能、随时可用以及准确的流处理应用程序打造的开源流处理框架。Flink不仅能提供同时支持高吞吐和exactly-once 语义的实时计算,还能提供批量数据处理。

Flink 将批处理(即处理有限的静态数据)视作一种特殊的流处理。Flink 分别提供了面向流处理的接口(DataStream API)和面向批处理的接口(DataSet API)。因此,Flink 既可以完成流处理,也可以完成批处理。Flink 支持的拓展库涉及机器学习(FlinkML)、复杂事件处理(CEP),以及图计算(Gelly),还有分别针对流处理和批处理的Table API。

第2章 流处理架构

2.2 消息传输层和流处理层

如何有效地实现流处理架构并从Flink 中获益呢?一个常见的做法是设置消息传输层和流处理层。

  1. 消息传输层:从各种数据源(生产者)采集连续事件产生的数据,并传输给订阅了这些数据的应用程序和服务(消费者)。
  2. 流处理层有3个用途:①持续地将数据在应用程序和系统间移动;②聚合并处理事件;③在本地维持应用程序的状态。

2.3 消息传输层的理想功能

2.3.1 兼具高性能和持久性

消息传输层的一个作用是作为流处理层上游的安全队列——它相当于缓冲区,可以将事件数据作为短期数据保留起来,以防数据处理过程发生中断。具有持久性的好处之一是消息可以重播。

2.3.2 将生产者和消费者解耦

采用高效的消息传输技术,可以从多个源(生产者)收集数据,并使这些数据可供多个服务或应用程序(消费者)使用。数据源将数据推送给消息队列,消费者(或消费者群组)则拉取数据。

2.4 支持微服务架构的流数据

微服务方法指的是将大型系统的功能分割成通常具有单一目的的简单服务,从而使小型团队可以轻松地构建和维护这些服务。

2.4.1 数据流作为中心数据源

流处理架构不需要集中式数据库。取而代之的是消息队列,它作为共享数据源,服务于各种不同的消费者。

第4章 对时间的处理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值