前篇主要介绍流式计算相关的核心概念,这篇简要聊聊Flink总体架构、运行环境及其在大数据生态系统中的位置,让大家先对Flink有整体认知,便于后期理解。一、Flink介绍
1.1什么是流处理
还是选回顾下流处理到底解决了什么问题、流处理的优势是什么,更详细的描述可看这篇文章:#FlinkCookBook—流式计算介绍#
在用流处理之前,状态数据通常存储在数据库、文件系统,然后应用程序根据需要再查询或计算数据:
流式计算改变了这种处理模型,应用的处理、查询和分析是连续不断的,数据不间断的从系统中流过。流系统接收到事件后,会做一系列操作,比如更新聚合数据或进行其他统计,甚至多个流进行join,产生新的数据流供其他应用使用:
在Lambda架构中,流处理层提供相似结果集,这是因为早期的流系统,比如Storm存在限制,现代的流处理引擎有很强的容错性,而且Flink的状态管理有生产级的可靠性,即使程序出现异常也能保证正确的结果。
1.2什么是Flink
Flink是一个低延迟、高吞吐、批流统一的、有状态的流式计算引擎,用于为大批量数据构建高效、快速、准确和容错的流处理应用。Flink把批处理作为流处理的特殊情况去支持,在这种模式下,依然没有丢失流处理的优势。随着近两年Flink在企业成功应用的案例越来越多,而且阿里巴巴对Blink的开源,极大的增加了Flink的成熟度,Flink逐步被人们所