Flink核心技术:源码剖析与特性开发

黄伟哲
内容提要 本书以核心概念和基本应用为脉络,介绍Flink的核心特性(如检查点机制、时间与窗口、混洗机制等)、任务部署、DataStream API、DataSet API、Table API的应用以及运行时原理等内容。每章先对概念进行基本介绍,然后基于应用实例详细分析Flink的设计思想和源码实现,逐步引领读者掌握定制化的开发特性并提升性能,让读者对Flink的理解有质的飞跃。本书内容是作者多年工作实践的总结,能够帮助读者实现真实的企业级需求。 本书适合想要学习Flink设计原理并希望对Flink进行定制化开发的平台开发工程师,需要进行架构设计和技术选型的架构师与项目经理,以及计算机相关专业的学生阅读。 序  一 2018年,在北京国家会议中心举办的Flink Forward峰会上,来自阿里巴巴、京东、字节跳动、美团等公司的大数据技术负责人向众多参会者介绍了如何使用Flink解决组织内部的业务问题,做到大规模实践。每个人都在热烈地讨论Flink相关的技术实践和应用场景,很难想象Flink是2014年才正式发布的大数据技术,但在场的所有人都深刻感受到实时计算浪潮的到来。现在看来,Flink的口号“实时即未来”(Real-time is the Future)正一步步地变成现实。 数据的快速产生与快速流动对实时分析提出了很高的要求。如果数据不能被很好地实时处理,那么数据本身所蕴含的实时价值会迅速消失。在Flink之前,流处理的解决方案不尽如人意,Storm、Spark Streaming都只能说是过渡方案。 在大家对流处理的需求日益迫切的同时,Google发表的关于MillWheel和Dataflow的两篇论文让我们依稀看到了下一代流处理技术的模样。恰逢其时,Flink作为新一代流处理计算引擎进入了人们的视野。它吸收了上一代流处理技术的经验,融合了学术界和工业界对下一代流…