Flink学习笔记(一):为什么选择flink

一、概述

在很多数据处理场景下,要求数据以数据流的形式进行分析和存储,然鹅er…为啥选flink呢?流处理的框架不是很多么

Q: 流处理框架有很多中,比如前面提到的sparkstorm等,为什么选flink

A: 1.flink具有高吞吐、低延迟、高性能的特性(海量数据秒级处理

2.支持带有事件时间的窗口(Window)操作

3.持有状态计算的Exactly-once严格/恰好一次)语义,保障状态的一致性

4.支持高度灵活的窗口(Window)操作,支持基于timecountsession,以及data-driven的窗口操作

5.一个运行时同时支持Batch on Streaming处理和Streaming处理

6.丰富的API支持,支持RESTRepresentational State Transfer

7.支持机器学习(FlinkML),支持图分析(Gelly),支持关系数据处理(Table),支持复杂事件处理(CEP

8.整合支持Flink on YARN,HDFS,Kafka,Apache HBase,Hadoop,
Tachyon
,持ElasticSearch,RabbitMQ,Apache Storm,S3,XtreemFS

文字不直观?来张图看看,是不是更清楚些了呢
Flink学习笔记(一):为什么选择flink

二、场景结构

我们首先以一个场景为例,如下图所示
Flink学习笔记(一):为什么选择flink

如图所示,kafka集群存储来自各个场景的日志数据,flink通过kafka接口进行消费,获取kafka的数据,flink加载分析引擎,然后通过进行数据处理,将处理完的数据写入mysql数据库中,然后通过前端展示出来。

三、应用场景

flink提供了大量的接口,我们可以方便的从数据源获取数据,处理后输出到指定的存储容器中,我们可以看一下fink的应用场景,看完是不是也跃跃欲试呢。
Flink学习笔记(一):为什么选择flink