Flink太强了!据说SparkStreaming不是对手?

2021-01-13 15:38:07 浏览数 (1)

相信大数据人对这两年冉冉升起的新星 Flink 都不陌生,Flink是一款构建在数据流之上的有状态计算框架,通常被视为第三代大数据分析方案。

对比一代的Hadoop、Storm,二代的Spark RDD和Spark Streaming,Flink针对数据流的分布式计算,提供了数据分布数据通信、以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API,能更便捷地帮助用户编写分布式任务。

为何 Flink 的价值迟迟未被发现?

Flink 和 Spark 几乎同时诞生,但大数据起源于批处理,早期人们对大数据分析的认知或者业务场景,都被限制在批处理。这导致了 Flink 的发展比 Spark 缓慢,直到2017年,人们才慢慢从批处理开始转向流处理 。

Spark VS Flink 谁更胜一筹?

在批处理上,Spark有很深的积累。为了应对全球大量业务的实时需求,Spark也推出了流计算解决方案——SparkStreaming。但Spark毕竟不是一款纯流式计算引擎,所以在时效性等问题上,始终无法提供极致的“流批一体”体验。

Flink 是一个分布式系统,可进行有状态的并行数据流处理。也就是说,Flink会分布式地运行在多个机器上。在分布式系统中,常见的挑战有:如何对集群中的资源进行分配与管理、协调进程、数据存储的高可用、以及异常恢复。

Flink 并未实现这些功能,它更关注自身的核心——分布式数据流处理。数据流作为 Flink 的基本数据模型,可以是无边界的无限“流”,即一般意义上的流处理;也可以是有边界的有限“流”,也就同时兼顾了批处理。

Flink 系统的架构

流批一体的实现原理是什么?

两种方案,一种是跨引擎的流批一体,比如上古时期的 Storm 和 Spark 结合使用,批交给 Spark 执行,流交给 Storm 执行;另一种就是引擎本身就具备流批一体的能力,比如 Spark 和 Spark Streaming、Flink 等。

今年双十一,Flink 流批一体方案成功落地天猫核心数据场景,效果惊艳。时效性上,面对 58.3 万笔 / 秒的交易峰值和上亿 / 秒的无线流量洪峰,天猫的所有任务都达到了秒级延时,整个实时计算集群峰值 TPS 达到 40 亿条 / 秒。

如果你想学习大厂主流计算引擎 Flink 架构设计,可以报名前58技术委员会主席孙玄打造的《大数据架构师必备技能—千亿级企业大数据计算引擎 Flink State 架构设计深度剖析与案例深度实践》在线专栏课。3天的课程,限时优惠。

0 人点赞