Apache Flink:强大的流处理与批处理系统
发展历程与现状
Apache Flink 在2014年开始孵化,9个月后的2015年1月,它从孵化器毕业,成为了 Apache 软件基金会的顶级项目。在毕业之前,社区主要致力于批处理功能的开发,之后流处理逐渐成为新的焦点。
接下来的几个版本中,Flink 不断添加新特性,如窗口支持、精确一次状态一致性、事件时间语义、有状态流处理以及工作进程和主进程的高可用性等。2016年3月发布的1.0.0版本,标志着 Flink 成为了一个功能完备的流处理器,其特性在其他开源流处理器中独树一帜。
从1.0.0版本发布到2017年12月的1.4.0版本,又增加了许多重要特性,包括支持统一批处理和流查询的 SQL、用于识别和响应事件流模式的复杂事件处理(CEP)库、应用程序的伸缩支持以及从外部应用程序查询操作符状态的支持。如今,Flink 社区已经发展到有34位提交者,超过350人为 Flink 做出了贡献。全球众多企业,如阿里巴巴、戴尔 EMC、荷兰国际集团、King、Netflix 和优步等,都在大规模生产环境中使用 Apache Flink,部分用户还为内部用户构建了服务,甚至将这些服务提供给付费客户。
基础架构
Apache Flink 是一个用于批处理和流处理的系统,主要有两个 API:用于批处理的 DataSet API 和用于流处理程序的 DataStream API。这些 API 允许使用函数式编程中的一阶和二阶函数来流畅地指定数据处理计划。二阶函数为分布式执行提供一定的保证,一阶函数则在这些保证内实现自定义业务逻辑。例如,map 操作符保证对每个记录应用一阶函数,keyBy 则使用一阶
超级会员免费看
订阅专栏 解锁全文
6333

被折叠的 条评论
为什么被折叠?



