flink 基础及架构预览

一. flink是什么

     flink是处理有界数据流和*数据流的一个框架,是有状态的计算的分布式处理引擎(官网原文:Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams)

    有界数据流:可以理解成传统的数据库里的或者一个文件里的数据,在某个时间点段内,这些数据都不会在变化,可以量化的数据流

   *数据流:数据一直源源不断的流入,如线上的埋点日志,程序的运行日志等等

二.flink常用的应用场景

     大致有三类:

        2.1 事件驱动驱动

            如常见的欺诈检测,业务流程监控,社交网络

        2.2数据分析

            这里的数据分析主要指实时的数据分析,跟传统的T+1数据分析不一样,比如电信网络的质量监控,一旦出问题需要马上处理,采用传统的T+1数据分析在这里就不太合适

        2.3数据管道应用

            如基于binlog的实时数仓

三.总体架构

     3.1 任务提交,执行图

     大体的流程通过flink client将代码转换成job graph,提交到master上,由master申请资源后,job graph在taskmager上执行.

具体的后面再详细说

       

flink 基础及架构预览

 

3.2 flink架构图

     从下到上依次是flink的运行环境,一般生产环境都是yarn,测试的话随意,可以在本地,也可以在yarn上,

     其次是runtime,批处理和流处理的api层,及最上层的flink table,sql ,机器需求等等

flink 基础及架构预览