请选择 进入手机版 | 继续访问电脑版

实时计算 Flink 版应用场景与产品介绍

[复制链接]
小小海 发表于 2021-1-2 19:01:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
摘要:本文由阿里巴巴高级产物专家陈守元老师分享,详细解说实时盘算 Flink 的详细业务场景并分享实时盘算 Flink 的相关应用案例。
内容分为以下四部门:


  • 技能原理
  • 技能应用
  • 应用场景
  • 行业案例
1、技能原理

关于技能原理这部门的先容,下文主要从通晓原理、容易肴杂的四大概念、批处理处罚和流处理处罚的对比、事件触发的流处理处罚四个方面展开先容。
通晓原理闻一知十

从上图所示的关于实时盘算 Flink 业务架构图中可以发现,平常在做业务开辟或是架构设计的时候,开辟人员需要通晓产物背后的技能原理,只有这样做开辟的过程中才气制止非须要的失误,从而提高数据开辟的效率。对于许多架构师来讲,只有通晓了技能背后的原理,才气养玉成局的架构嗅觉。
容易肴杂的四大概念

下图所示的数据处理处罚时效性的四大概念是从差别维度形貌的,分别代表盘算的差别特征,它们分别是:实时盘算、离线盘算、流盘算(或称流处理处罚)和批处理处罚。这四个概念实在是从两个维度来形貌的,横坐标轴上面的盘算和下面的处理处罚,指代的是业务的特征。
实时盘算它形貌快速的盘算过程和快速的请求响应。实时盘算形貌的是盘算链路的表达,是实时业务实时盘算的需求特征。离线盘算强调的是它的离线特征,即非实时的,非实时的盘算过程和非实时的请求响应。业务特征是,不求特快,只求效果。
所以横向坐标轴上面形貌的本质都是业务处理处罚需求,而坐标轴下面形貌的是技能需求。
流盘算(流处理处罚)强调的技能特征是流式处理处罚。流式处理处罚有有几大特征,包罗常驻、事件触发和通常具备实时性。批处理处罚(又称批盘算)强调了盘算通过指挥举行处理处罚。它的特征是,非常驻、外界触发和通常不具备实时性。
批处理处罚和流处理处罚的对比

对于批处理处罚来说,处理处罚分为三步。第一步是数据装载;第二步是批量盘算,系统会把这份数据加载到存储内里然后构建相应元数据大概索引等利用;第三步是外界发起数据请求触发盘算,盘算出效果返回给用户。对于流盘算来说,它的方式完全不一样。通常来说用户要把一个流式作业提前写好,然后提交到集群或盘算系统内里。(由上图右侧所示)数据写入一条,流式盘算就会触发一次并运算一次,然后写出一个效果,整个过程很短。
所以总结而言,对于批处理处罚来说,数据装载、数据盘算自己是完全脱节的过程,数据是一批批加载,盘算也是一批批请求,这就是批处理处罚(批盘算);同时它也是一个高时延的盘算;别的它照旧一个主动发起的盘算,所谓的主动发起就是用户主动发起盘算请求的。对于流式盘算来说,它正好与之相反。流盘算是一连的,只要有数据输入就会一连的盘算;别的它是低时延的;它也是一个事件触发的盘算。
事件触发的流处理处罚

关于流处理处罚,从维基百科上可以提炼3个关键词,Event,Stream和Process,本名为事件流处理处罚,日常在工程实践中会被简化称为流处理处罚或流盘算。三个关键词准确地形貌了流处理处罚的三大特点:


  • Event说明白流处理处罚是由事件触发,同时事件又具有极强的时间性,好比事件发生时间、事件处理处罚时间、事件进入时间等等。
  • Stream代表的是事件流,也就是上图说明的“无界的事件聚集”。意思是对于流盘算来说,它的数据是一连的、源源不停地进入流盘算系统的。也就是说,只要不人为终止它,数据便会源源不停地进入消息队列,最终进入流式处理处罚系统。所以它本质上是一个无穷无尽的事件流,我们称之为无界的事件聚集。
  • Process是指流程,流处理处罚作为一个处理处罚系统也是一个盘算系统,同样也是一个Process流程系统。对于流盘算来说,数据进入一条就会触发一条,然后处理处罚一条再输出,整个过程需要非常快的速度,也就是我们说得实时在线处理处罚。
流式处理处罚的代价
流式处理处罚的代价在于当数据进来产生后,可以大概被迅速处理处罚盘算,然后迅速得到业务效果,这就是流盘算的代价。需要流盘算的地方,一般是数据代价随着时间流逝而迅速低落的场景。

对于离线盘算来说,数据放一小时、一天或一个月,都不会影响盘算,但对于实时盘算来说,一旦数据没能做到实时流处理处罚并马上产生效果,那么数据的代价就会随着时间的流逝而逐渐低落。
关于流式处理处罚的业务代价,可以举个例子,相信许多人对一年一度的双11都很熟悉,每年双11显示总生意业务额的实时大屏就是实时盘算的一个最佳应用。别的一个更倍显代价的案例就是关于淘宝或是天猫的卖家通过实时的广告流量数据来变更或指定广告计谋并执行,这样对他们的实时业务做到最大的助力。
2、技能场景

在Apache Flink官网有专门形貌三大抽象技能场景,它们是:Stream Analytics,Stream Pipelines,Event-Driven Application。这三大抽象技能场景是我们下面展开的所有业务场景的根本,相识了这三大抽象技能场景,对未来推导其他业务场景和应用案例有很大的资助。
Stream Analytics

现在在中国,最多的使用场景是Stream Analytics,它对应的是流处理处罚;如上图左侧Batch Analytics对应的是批处理处罚。Batch Analytics各人应该很熟悉了,它是传统批量分析,也就是批处理处罚,基于有限的数据集构建应用来完成事件的批查询或盘算,这个过程和上文先容的批处理处罚流程是一样的。
右边的Stream Analytics正好相反。如图所示,数据流是一连不停的进入query或application盘算系统, 并一连的盘算效果,效果再写入外部的存储,然后再通过Live Report输出给用户。
以上是批处理处罚和流处理处罚在Analytics这个场景下的延伸先容,它们的原理式完全一样的。

Stream Analytics的核心优势是它规避了批处理处罚周期性数据导入和盘算的高延迟过程。相对于批处理处罚,流处理处罚更快更有效率。
Flink 如何支持数据分析类应用
Flink 最大的特点是它内置了一个符合ANSI标准的SQL接口,可以将批量和流式的语义统一起来。无论是在记录事件的静态数据集上,照旧实时事件流上,相同SQL查询都会得到一致的效果。这套系统是阿里云贡献给整个社区的,也是从2015年开始就承接了每年双11实时大屏的工作。历经磨练,它是一套非常成熟稳定的系统。
Flink内置的符合ANSI标准的SQL接口,乐成地把流式处理处罚的技能布衣化,赋能给大量的BI工程师或开辟人员。他们只需会写SQLC口或稍微通晓一点 Flink 的流处理处罚语言,就可以大概做相应的开辟。 Flink 所支持的数据分析类应用包罗:实时数仓,实时数据中台和实时BI。
Stream Pipelines

如上图,左边是批处理处罚Periodic ETL,右边是实时处理处罚Data Pipeline。从整张图的数据管道来看,流处理处罚相对于批处理处罚来讲,更具有活动性,也就是数据的链路更可以实现实时化。

如上图,对于实时的数据管道,最大的优势是,可以大概显着低落将数据移动到目标端的延迟,也可以大概一连消费和发送数据,因此用途更广,支持用例更多。
Flink 如何更好的支持数据管道应用呢? 许多常见的数据转换和增强利用可以使用 Flink 的SQL接口(或Table API)及用户自界说的函数办理。如果数据管道有更高级别的需求,可以选择更通用的DataStream API来实现。
Flink 为多种数据存储系统内置了毗连器,如Kafka、Kinesis、Elasticsearch、JDBC数据库等系统。它还提供了文件系统的一连型数据源(Source)及数据汇端(Sink),可用来监控目次变革和以时间分区的方式写入文件。
Stream Pipeline的应用场景有,实时数据清洗、实时搜索构建和实时告警。
Event Driven Application

希望将 Flink打造成流处理处罚界的翘楚,希望到达更加极致的实时化,也就是提供一些更加定制化或个性化的数据处理处罚。告竣这样的效果需要围绕Application做到快速的读取和写入等。从坐标来看,希望把 Flink推向别的一个对处理处罚时间要求更极致化的Event-Driven的Application。所以Event-Driven Application满足的是对更极致流的场景需求。

事件驱动型应用的优势是,无需查询远程数据库,本地数据访问使得它具有更高的吞吐和更低的延迟。而由于定期向远程长期化存储的CheckPoint工作可以异步、增量式完成,因此对于正常事件处理处罚的影响甚微。
事件驱动型应用的优势不但限于本地数据访问,传统分层架构下,通常多个应用会共享同一个数据库,因而任何对数据库自身的更改都需要审慎协调。而事件驱动型应用,由于只需思量自身数据,因此在更改数据表现或服务扩容时,所需的协调工作将大大淘汰。
事件型应用案例包罗,反敲诈、异常检测和复杂规则告警,或是其他比力复杂的非二维关系代数模子分析类的应用。
3、应用场景

基于第二部门的技能场景,在上面做叠加和组合,就是以下几个应用场景的先容。

实时数仓
实时数仓是在当下比力火、综合了Stream Analytics和Pipeline最终形成了实时数仓。它与传统数仓最大的区别是,它可以大概把前方的业务数据实时举行清洗、汇聚、加工,最后写入实时服务这一层。实时数仓最核心的是把业务的整个链路实时化了,这就极大的满足了一些需要实时看数据等业务需求。
实时风控

实时风控在许多有资损、监察、安全监控等需求的行业应用场景许多。在互联网时代,对于大量的用户访问、数据请求和业务的需求,造就了实时风控系统架构的极致化应用。在互联网初期,各人对时效性没有那么高的要求,许多离线风控系统就可以满足需求,但是现在实时化需求越来越大了。
借助实时风控,当用户在做一些利用的时候,规则引擎在获取数据后会做规则判定,然后反馈效果用户的利用是否正当。
实时呆板学习

实时呆板学习是一个更宽泛的概念,传统静态的呆板学习主要偏重于静态的模子和汗青数据举行训练并提供预测。许多时候用户的短期行为,对模子有修正作用,大概说是对业务判定有预测作用。对系统来说,需要收罗用户最近的行为并举行特征工程,然后给到实时呆板学习系统举行呆板学习。如果动态地实施新规则,或是推出新广告,就会有很大的参考代价。
4、行业案例

以上的业务应用案例是不带行业属性的,那么这一部门将联合一些业务场景来看各个行业的案例。主要围绕每个案例产生的配景、需要使用实时盘算的痛点、使用实时盘算后办理的问题或产生的代价来展开。
金融行业应用
实时盘算在金融行业应用比力多是因为金融行业正在面临数据化的转型。转型和变革体现在,从传统到线上,由传统向云上发展,由人决定向呆板决定转换等等。这样会带来几个比力大的变革:

第一是它的业务会越来越复杂,以前只有线下业务,现在有了更多差别范例的业务,好比线上业务,终端业务等等;而且服务链条也越来越长,业务的变革也越来越快。第二是数据需要实行一些决定。以前线下业务在柜台,是点对点的业务沟通和服务,对时效性要求不高。但是新增的线上业务或终端业务,就完全需要一个实时数据监控和实时化的决定,对系统实时化需求更高了。这种实时决定的需求同时对数据质量也会越来越高,这样才气制止决定的失误。
第三是传统风控向实时风控的转型。在金融体系中,像信用违约、账户安全、贷款记账等等,以前的线下业务是靠许多人的加入完成决定的,现在全部数字化后,系统的实时风控就能办理。所以实时盘算可以实现对系统整个链路数据的实时收罗、实时盘算和实时实施,最终实时反馈到业务线上。
在线教诲行业应用
由于本年疫情的关系,在线教诲行业非常火爆,推动了传统教诲向在线教诲的转型。在线教诲行业面临着很大的实时自动化的需求,因为第一是数据量大,用户量暴增造成数据的暴增;第二是延迟,许多推荐场景或是运营场景,对实时化有强烈的诉求。传统教诲的报表是以离线时效性给给到老板查阅分析,但随着行业的数据化转型,数据开始产生代价,实时数据可以大概为一线运营人员提供决定的依据。

第三是复杂,在线教诲行业因疫情而发作增长,属于比力新的行业,那么他们的业务在快速发展的同时,一些BI场景也是处于快速变革中的,而且也比力复杂,因此急需一套完整的实时办理方案,资助他们完成业务的数据的实时化和AI化的转型。这就需要用到阿里实时盘算 Flink 来办理了,它能资助客户快速使用 Flink SQL
办理业务问题。
内容资讯行业应用
内容资讯行业自己是数据麋集型行业,而且已经实现个性化推荐,比方本日头条、抖音等平台。这种个性化的推荐需要大量的数据做实时决定。所以当一个公司,数据量突然猛增,业务发展迅猛,那么就需要实时盘算办理方案。

别的,如果业务形态比力复杂也需要实时盘算的资助。有一些资讯平台,不但有新闻内容,另有UGC、短视频、直播等内容,各种形态千差万别。这就对实时化盘算的诉求很强了。第三就是个性化推荐的实现,更是需要实时化盘算来助力。它可以大概实时的把在线业务系统、用户行为等,实现实时抓取并盘算,最终服务用户产生个性化推荐。
电商行业应用
实时盘算 Flink在阿里首先落地到了电商上,所以应用到电商行业的实时盘算应用场景也许多。首先就是上文提到的每年双11的实时巨屏;双11期间淘宝天猫卖家对渠道出货情况的实时相识,广告投放的实时动态等等,以包管能在双11仅仅24小时的窗口期,实时调解销售计谋和广告计谋,创造最大代价。

广告行业应用
广告行业从诞生之初,都是一个时效性要求非常高的行业。对广告来说大部门的场景或核心场景都对实时化的要求就比力高。广告数据的真实性对企业来讲是非常重要的,那么可以大概实时地将因广告产生的用户行为数据、索引数据、广告链接点击和检测等等反馈到系统,借助在线反作弊来反馈真实的流量数据,对企业来讲是有代价的。

实时盘算 Flink 可以极大淘汰业务开辟人员和架构人员在面临实时盘算的各种各样不确定性情况时,做到非常稳定地实现广告业务并包管企业的广告收益。
 
原文链接
本文为阿里云原创内容,未经允许不得转载。

来源:https://blog.csdn.net/weixin_43970890/article/details/112006120
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )