• Flink实际应用场景
    • 实时数据计算
      • 传统分析方式:批查询
      • Flink:批流一体
        数据实时采集、实时计算和下游发送
    • 实时数据仓库和 ETL
      • 状态管理
      • 丰富的API 
        包括 Stream API、Table API 及 Flink SQL;
      • 生态完善
        支持多种存储(HDFS、ES 等);
      • 批流一体
        一套API既能实现流计算又能实现批计算
    • 事件驱动型应用
      • 高效的状态管理
        自带的 State Backend 可以很好的存储中间状态信息;
      • 丰富的窗口支持
        包含滚动窗口、滑动窗口及其他窗口;
      • 多种时间语义
        支持 Event Time(事件时间)、Processing Time (处理时间)和 Ingestion Time(摄取时间);
      • 不同级别的容错
        支持 At Least Once 或 Exactly Once 容错级别。​​​
    • 性能:Flink 已经可以扩展到数千核心,其状态可以达到 TB 级别,且仍能保持高吞吐、低延迟的特性。
  • Flink 的架构模型
    • Flink 的分层模型
    • Flink 的数据流模型
      • Flink 程序的基础构建模块是流(Streams)与转换(Transformations)
      • 每一个数据流起始于一或多个Source,终止于一或多个Sink
      • 分区、算子任务、并行度
        在 Flink 任务执行期间,每一个数据流都会有多个分区,并且每个算子都有多个算子任务并行进行。算子子任务的数量是该特定算子的并行度(Parallelism),对并行度的设置是 Flink 任务进行调优的重要手段
    • Flink 中的窗口和时间
      • 滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)及会话窗口(Session Window)#重点 这里需要研究一下
      • 事件时间(Event Time)、摄取时间(Ingestion Time)和处理时间(Processing Time)
  •  
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐