返回

Flink 基础教程(三):生产环境中的 Flink

技术

发布时间:2020/03/30 17:46

标签:Flink

摘要:编者按:本文节选自图灵程序设计丛书 《Flink 基础教程》一书中的部分章节。

生产环境中的 Flink

本章旨在探讨为何选择 Flink。一个好的方法是听听在生产环境中使用 Flink 的开发人员解释他们选择 Flink 的原因,以及如何使用它。

布衣格电信

布衣格电信(Bouygues Telecom)是法国第三大移动通信运营商,隶属世界 500 强企业布衣格集团。布衣格电信使用 Flink 来进行实时事件处理,每天不间断地分析数十亿条消息。2015 年 6 月,在为 data Artisans 的博客撰写的文章中,Mohamed Amine Abdessemed1 描述了布衣格电信的目标以及 Flink 为什么能实现这些目标。

1 他在布衣格电信负责技术系统。——编者注

……布衣格电信最终选择了 Flink,因为它支持真正的流处理——通过上层的 API 和下层的执行引擎都能实时进行流处理,这满足了我们对可编程性和低延迟的需求。此外,使用 Flink,我们的系统得以快速上线,这是其他任何一种方案都做不到的。如此一来,我们就有了更多的人手开发新的业务逻辑。

Mohamed Amine Abdessemed 在于 2015 年 10 月举行的 Flink Forward 研讨会上也做了报告。布衣格电信试图给其工程师实时提供关于用户体验的反馈,让他们了解公司遍布全球的网络正在发生什么,并从网络的演进和运行的角度掌握发展动向。

为了实现这个目标,他们的团队搭建了一个用来分析网络设备日志的系统,它定义了衡量用户体验质量的各项指标。该系统每天处理 20 亿次事件,要求端到端延迟不超过 200 毫秒(包括由传输层负责的消息发布和由 Flink 操作的数据处理)。这些都在一个仅有 10 个节点(每个节点 1GB 内存)的小集群上完成。布衣格电信还希望这些经过部分处理的数据能被复用,从而在互不干扰的前提下满足各种商业智能分析需求。

该公司打算利用 Flink 的流处理能力来转换和挖掘数据。加工后的数据被推送回消息传输系统,以保证数据可以被不同的用户使用。

相比于其他处理方案,比如在数据进入消息队列之前进行处理,或者将数据分派给消费同一个消息队列的多个应用程序来分头处理,Flink 的处理方案更合适。

布衣格电信利用 Flink 的流处理能力完成了数据处理和数据迁移,它既满足了低延迟的要求,又具有很高的可靠性、可用性,以及易用性。Flink 为调试工作提供了极大的便利,甚至支持切换到本地进行调试。它也支持程序可视化,有利于理解程序的运行原理。此外,Flink 的 API 吸引了很多开发人员和数据科学家。Mohamed Amine Abdessemed 在其文章中还提及布衣格电信的其他团队使用 Flink 解决了不同的问题。

其他案例

King 公司

King 公司的游戏非常流行,全世界几乎每时每刻都有人在玩它的在线游戏。作为在线娱乐行业的佼佼者,该公司称自己已经开发了 200 多款游戏,市场覆盖 200 多个国家和地区。

King 公司的工程师曾在一篇博客文章中写道:“我们每月有超过 3 亿的独立用户,每天从不同的游戏和系统中收到 300 亿次事件,基于这么大的数据量做任何流分析都是真正的技术挑战。因此,为我们的数据分析师开发工具来处理如此大规模的流数据,同时保证数据在应用中具有最大的灵活性,这些对于公司而言至关重要。”

King 公司用 Flink 构建的系统让其数据分析师得以实时地获取大量的流数据。Flink 的成熟度给他们留下了深刻的印象。即使面对像 King 公司这样复杂的应用环境,Flink 也能很好地提供支持。

Zalando 公司

作为欧洲领先的在线时尚平台,Zalando 公司在全球拥有超过 1600 万的客户。该公司的网站将其组织结构描述为“多个敏捷、自主的小型团队”(换句话说,该公司采用了微服务架构)。

流处理架构为微服务提供了良好的支持。因此,Flink 提供的流处理能力满足了这种工作模式的需求,特别是支持业务流程监控和持续的 ETL2 过程。

2 ETL 是 Extract、Transform 和 Load 的缩写,即抽取、转换和加载。——编者注

Otto 集团

Otto 集团是全球第二大 B2C(business to consumer,企业对顾客电子商务)在线零售商,也是欧洲时尚和生活领域最大的 B2C 在线零售商。

它的商业智能部门在最初开始评估开源流处理平台时,没有找到一种能够符合其要求的平台,所以后来决定开发自己的流处理引擎。但是当试过 Flink 之后,该部门发现 Flink 满足了他们对流处理的所有需求,包括对众包用户代理的鉴定,以及对检索事件的辨识。

ResearchGate

从活跃用户的数量上看,ResearchGate 是最大的学术社交网络。它从 2014 年开始使用 Flink 作为其数据基础设施的一个主要工具,负责批处理和流处理。

阿里巴巴集团

阿里巴巴这个庞大的电子商务集团为买方和卖方提供平台。其在线推荐功能是通过基于 Flink 的系统 Blink 实现的。用户当天所购买的商品可以被用作在线推荐的依据,这是使用像 Flink 这样真正意义上的流处理引擎能够带来的好处之一。并且,这在那些用户活跃度异常高的特殊日期(节假日)尤其重要,也是高效的流处理相较于批处理的优势之一。