发布时间: 2020-06-16 15:26:49
Flink介绍
Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的较大亮点是流处理,是业界认可度高的开源流处理引擎。
Flink与Storm类似,属于事件驱动型实时流系统。
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。
Flink特点
1、流处理引擎
2、容错,可靠性
3、可扩展性,1000节点以上
4、性能,高吞吐量,低延迟
Flink架构
1、Data storage底层是数据存储
2、Single node execution表示的是部署方式
3、Local Environment等表示的是不同的运行环境
4、Flink Local Runtime表示是运行线程
5、Flink Optimizer,Flink Stream Builder等表示的是优化器
6、Common API表示的是Flink平台的API
7、Scala API和Java API表示的是对外提供的API
流计算框架Flink与Storm的性能对比
Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中 Apache Storm(以下简称“Storm”)在美团点评实时计算业务中已有较为成熟的运用,有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。而 Apache Flink(以下简称“Flink”)在近期倍受关注,具有高吞吐、低延迟、高可靠和精确计算等特性,对事件窗口有很好的支持,目前在美团点评实时计算业务中也已有一定应用。
Flink 与 Storm 两个框架对比
美团外卖处理性能对比
以美团外卖10分钟内接单的处理能力作为对比
上图中蓝色柱形为单线程 Storm 作业的吞吐,橙色柱形为单线程 Flink 作业的吞吐。Identity 逻辑下,Storm 单线程吞吐为 8.7 万条/秒,Flink 单线程吞吐可达 35 万条/秒。当 Kafka Data 的 Partition 数为 1 时,Flink 的吞吐约为 Storm 的 3.2 倍;当其 Partition 数为 8 时,Flink 的吞吐约为 Storm 的 4.6 倍。由此可以看出,Flink 吞吐约为 Storm 的 3-5 倍。
Flink应用场景
Flink最适合的应用场景是低时延的数据处理场景:高并发处理数据,时延毫秒级,且兼具可靠性。
典型应用场景有:
1、互联网金融业务。
2、点击流日志处理。
3、舆情监控。
上一篇: 人工智能-机器学习的基本概念