返回 登录
0

国内第一次Flink Meetup线下活动精彩回顾

11月5日,第一次Flink Meetup线下活动在华为杭州研究所成功举办。本次活动是国内第一次Flink Meeup线下活动,主办方是华为中软大数据团队。本文由华为大数据技术专家时金魁撰写并授权转载。

Apache Flink是当前比较优秀的流计算框架,当前Flink版本是1.1.3。Flink核心是一个streaming dataflow引擎,针对流式数据提供数据分布式和容错的分布式计算能力。Flink同时支持批处理和流处理,在批流之上提供了Table API;支持SQL、CEP(复杂事件处理)、Gelly(图计算)和FlinkML。毫秒级延迟和高吞吐是Flink的两个亮点。而CEP也是诸多流计算框架的亮点,Gelly和FlinkML为Flink提供了更大想象空间。Flink已经支持Yarn、Mesos和Standalone,未来会在FLIP-6中支持Kubernetes和Docker,在目标版本1.3中实现。

yahoo streaming benchmark的测试中,Flink的表现最好。笔者也测试对比过Spark Streaming、Storm和Flink,最后我们选择的是Flink作为流计算引擎,是因为Flink的毫秒级延迟,吞吐比Spark Streaming和Storm要好,最主要的是丰富的window API,session window非常适合针对单个用户的窗口统计,以及CEP/Gelly/FlinkML的扩展能力。虽然benchmark是各家都说各家好,但相对来说还是公平的。

目前的Flink Meetup举办地是柏林、伦敦和旧金山湾区,国内尚无Flink活动。为了方便Flink开发者线下交流,让更多人了解Flink技术,我们在杭州办了这次Flink Meeup活动。

这次活动中杭州和上海的主要实时计算团队都来了:阿里JStorm的纪君祥、万达大数据的李呈祥、华为中软大数据Flink团队、阿里云的张包峰和阿里搜索Blink的大沙。

活动主要议题:

  1. 李呈祥,Flink Committer,《分布式快照:灵活可靠地处理Apache Flink消息》

    • 万达集团大数据中心,大数据技术专家

    • 李呈祥对Flink研究较深,对Spark了解深刻,Spark早期研究者,同时非常支持Meeup,下次希望他能在上海搞一次Flink Meetup。

    • 万达的Flink的集群规模不大,很多特性没有用到,保守使用Flink。
    • 李呈祥详细介绍了Flink dataflow模型的历史由来。Streaming方面,storm的ack机制保证at-last-once;在保证exactly-once语义时,Storm Trident和Spark streaming有延迟问题,dataflow和Smaza的事务更新则强依赖写性能,因为在处理消息是要做持久化。
    • Flink分布式快照:触发快照后在实时流数据中添加一条系统消息,等所有的task收到系统标记消息,完成快照工作,发送一个ack消息到CheckpointCoordinator,CheckpointCoordinator收到所有task的ack后,向所有task发一条commit消息。
    • Flink恢复快照:CheckpointCoordinator获取最新的快照,在JobManager重启所有Task线程,TaskManager启动时优先加载快照。如果source没有重放能力,在快照恢复期间,实时的数据会丢失。
    • Flink分布式快照 = 部分数据 * 全部计算,这点印象深刻,这也是streaming系统的特征,瞬时的数据。
  2. 纪君祥,花名封仲淹,《Large-Scale Stream Processing inside Alibaba》

    • JStorm于2013/4/30发布第一个版本0.7.1

    • 目前在阿里内部广泛用于:tlog、eagleEye、alimama、monitor、反欺诈、实时推荐等

    • JStorm相比于Storm,性能有了大幅度提升。大多的实时计算框架都拿storm来比对,storm这块垫脚石哭晕在厕所~
    • 通过建立序列化线程池提升序列化效率
    • backpressure采用二分法反压回去。新版本借鉴Flink的自然反压方式
    • 全新的UI,完善的metric监控指标
    • 佩服纪君祥这几年来对流计算的坚持,让JStorm越来越优秀。
  3. 时金魁,华为大数据技术专家,《Flink SQL剖析》

    • 介绍流计算的需求场景和Streaming SQL基础概念;随着时间的递增,数据的价值快速衰减。即数据越实时越有价值。

    • 一步步剖析数据源的生成,数据schema注册到calcite的过程,Flink SQL的解析、生成关系树、规则应用和CBO优化,最终生成datastream

    • Flink runtime把逻辑计划生成的对应的datastream,映射成物理执行计划图ExecutionGraph。最后分配task线程并同时启动,long running
    • 对Flink的扩展:Flink Jobserver解决作业调度的问题;netty source解决端到端的时延和作业切换导致的数据丢失问题。
    • Flink可靠性增强:完善单元测试和可靠性检测
    • 华为对Flink社区大力支持,长期支持Flink Meetup线下活动
    • carbon-data计划作为新的connector添加到Flink中
    • 华为对Flink开源社区的态度:与社区有交集的功能特性,全部贡献给社区;涉及公司政策及安全的特性,选择闭源。不重复造轮子。
  4. 嘉宾

    • @老师木,特意从北京赶来交流Flink技术,微博常互动,线下第一次见到,Happy
    • @张包峰,阿里云资深工程师,在Flink SQL和calcite方面研究深入,本来他要分享,由于不可抗力分享不了。大家多关注他,帅锅
    • @王联辉,Spark资深研究者,天生的程序员,很nice
    • @codlife_15,来自中科院软件所,软件所目前在Spark和Flink方面都有投入,国内院所能如此,很赞。@codlife_15 目前在研究Flink SQL
    • 深交所 的刘逍和linbin,专程从深圳赶来,他们对Flink研究比较深入,很赞
    • @王福强,扶墙老师来了,Scala和微服务大咖
    • 大沙,来自于阿里搜索Blink团队。大沙在Flink社区非常活跃,贡献很多。Bink在人员投入和技术能力上都走在前列,值得大家学习
    • 更多嘉宾就不一一列举了

国内第一次搞Flink Meetup,多有不周之处,望多包涵。Meetup是程序员们线下交流互相学习的场所,希望这种交流氛围能延续下去。期望上海、北京的Flink Meetup也搞起来。希望国内的Flink开发者多多分享,共同促进Flink社区发展。

实时计算的未来是显而易见的。

Flink资料:


活动剪影

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

评论