Flink概述 | 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的的第5天

Apache Flink 诞生背景

image-20220727151352678

  1. 什么是大数据

    (Big Data):指无法在一定时间内用常规软件工具对其进行获取、存储、管理和处理的数据集合。

    四个特点:

    image-20220727151514848

    • 多样化:大数据的数据源和数据种类是非常多样的 (eg:不仅仅有格式化的数据,还有很多半结构化的数据以及结构化的数据,比如说计时消息,图片,音频流等数据)
    • 快速化:数据产生和处理的速度是非常快的,特别是随着移动互联网的整个产业的成熟,可能用户都有一个对应的手机,每天都在产生各种各样的数据,这个数据的规模对应它产生的速度都是非常快的。
  2. 大数据架构发展历史

    image-20220727153647925

  3. 为什么需要流式计算

    大数据的实时性带来价值更大,比如:

    • 监控场景:如果能实时发现业务系统的健康状态,就能提前避免业务故障;
    • 金融风控:如果实时监测出异常交易的行为,就能及时阻断风险的发生;
    • 实时推荐:比如在抖音,如果可以根据用户的行为数据发掘用户的兴趣、偏好,就能向用户推荐更感兴趣的内容;

    大数据实时性的需求,带来了大数据计算架构模式的变化

    image-20220728143503639

    批式计算——即需要等待一批数据到齐之后再开始处理,又称为底线计算,但因为业内对于大数据实时实时性要求的提高,接着就带来了一个流式计算的一个场景需求。

    流式计算——即在一些基础的数据处理是源源不断的数据流入,需要实时进行数据处理并把处理好的数据传递给下游,直到整个业务的数据处理完成。

    (所以可以理解为它是一个流失计算,它是实时在对用户产生的数据做相应的计算,可以更快速,并且低延时,然后它面临的场景的数据源主要是无限流动态和无边界的)

    (对于流式计算,它是七十二小时不断运行的,因为我们的数据源是一个无限流数据的源头,它是源源不断产生的,所以说流失计算的作业,也是一个持续不断的运行,跟批式计算有一个鲜明的一个对比)

Apache Flink的优势

流式计算引擎发展

大数据如果从Google对外发布MapReduce论文算起,已经前后跨越将近二十年,业内常用的计算框架演化历史

红框为流式框架

注:kafka是消息队列

流式计算引擎对比

流式计算框架: image-20220728145902071

对于评判标准:

  • 一致性保证:如果按条处理,性能会高一些,更像是批处理的一种模式,(即能不能做到一个保证,在精确一次计算的语义的一个保证。这对于业务会有非常好的价值,否则的话,业务需要基于框架提供的已有能力的基础上再做一些各种业务需要投入比较大的开销的一些处理)
  • 延迟:即主要原因由于Streaming Model带来的。

Why Flink(官网介绍)

image-20220728152445440

Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink被设计为在所有通用集群环境中运行 以内存速度和任何规模进行计算---来自社区官方介绍

Apache Flink开源生态

image-20220728152956479

Flink社区的开源生态

posted @ 2022-07-29 10:14  Luciferpluto  阅读(1)  评论(0)    收藏  举报  来源