《Apache Flink 案例集(2022版)》——5.数字化转型——联通-联通实时计算平台演进与实践

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 《Apache Flink 案例集(2022版)》——5.数字化转型——联通-联通实时计算平台演进与实践

用户背景

中国联合网络通信集团有限公司,是中华人民共和国一家主要从事通信业的中央企业,也是中国第三大电信运营商,在中国内地31个省、市、自治区运营移动与固网通信业务。


业务需求

电信行业的业务系统非常复杂,所以它的数据源也是非常多的,目前实时计算平台接入了 30 多种数据源,这 30 多种数据源相对于总的数据种类来说是比较小的。即使这样,联通的数据量也达到了万亿级别,每天有 600TB 的数据增量,而且接入的数据源种类和大小还在持续增长。平台的用户来自于全国 31 个省份公司以及联通集团的各个子公司,尤其是在节假日会有大量用户去做规则的订阅。用户想要获取数据,需要在平台上进行订阅,联通会将数据源封装成标准化的场景,目前已经有 26 种标准化场景,支撑了 5000 多个规则的订阅。


image.png


对于实时计算平台来说,实时性的要求是很高的。数据从产生到进入联通的系统,大概有 5~20 秒的延迟,经过系统正常处理之后大概有 3~10 秒的延迟,联通允许的最大延迟是 5 分钟,所以必须做好实时计算平台端到端的延迟的监控。


平台建设


2020 年以前,联通是使用 Kafka + Spark Streaming 的方案来实现的,而且是采购厂商的第三方平台,遇到了很多问题和瓶颈,难以满足日常的需求。与此同时,很多企业都正在进行数字化改革,系统的自研比例也越来越高,再加上需求的驱动,自研、可灵活定制、可控的系统迫在眉睫。在这个背景下,联通从2020 年开始接触Flink,并实现了基于Flink的实时计算平台。


image.png


既往平台存在的问题如上图所示。为了解决这些问题,联通自研了基于 Flink 的实时计算平台,根据每个场景的特点进行最优的定制,最大化资源的使用效率。同时利用 Flink 内置状态存储的特性减少外部依赖,降低了程序的复杂度,提升程序的性能。通过灵活定制实现了资源的优化,相同体量的需求下大大节约了资源。此外,为了保证系统的低延迟率,还进行了端到端的监控,比如增加了数据的积压、延迟、数据断传监控等。


image.png

联通的Flink集群需要日均处理 1.5 万亿数据,近 600TB 的数据增量,对稳定性的要求比较高,因此是独立搭建的。它独享了 550 台服务器,没有和离线计算混用。

 

image.png


联通对场景深度定制的主要原因是数据量大,同一个场景的订阅又非常多,而且每个订阅的条件又是不一样的。从 Kafka 读取一条数据的时候,这条数据要匹配多个规则,匹配中后才会下发到规则对应的 topic 里面。所以不管有多少订阅,只从 Kafka 中读取数据一次,这样能够降低对 Kafka 的消耗。


手机打电话或者上网都会连接到基站,相同基站的数据会按一定的时长窗口和固定消息进行压缩,比如三秒钟一个窗口,或者消息达到了 1000 再进行触发,这样下游接收到的消息就会有量级的降低。然后是围栏匹配,外部系统的压力是基于基站规模的,而不是基于消息数目。再就是充分利用了 Flink 的状态,当人员进入和滞留的时候会存入状态,用 RocksDB 状态后端减少了外部依赖,简化了系统的复杂度。此外,联通还实现了亿级标签的关联不依赖外部系统,通过数据压缩、围栏匹配、进入驻留、标签关联后才开始正式匹配规则。


用户订阅场景后,订阅的规则会以 Flink CDC 的方式同步到实时计算平台,这样可以保证延迟比较低。由于人群的进入滞留会存入到状态,基于 RocksDB 的状态后端数据量比较大,联通会通过解析状态的数据进行问题排查,比如用户到底有没有在围栏之中。


image.png


此外,联通还搭建了基于 Flink 的集群治理架构,通过采集资源队列的信息,解析 NameNode 的元数据文件 Fsimage,采集计算引擎的作业等信息等,对集群做 HDFS 画像、作业画像,数据血缘、冗余计算画像、RPC 画像以及资源画像。


image.png


联通通过基于Flink进行实时计算平台建设和集群治理,有效提高了计算资源的利用率,存储文件数降低 60% 以上,RPC 负载也大幅降低,从而解决了长期以来的资源紧张问题,降低了集群扩容开支,每年会有千万级别的成本节约。


未来规划


首先,目前联通还没有一个完善的实时流管理平台,且监控比较分散,研发通用的管理和监控平台势在必行。 其次,面对日益增长的需求,深度定制化虽然节约了资源,提升了支撑的规模,但是它的开发效率并不理想。针对数据量不大的场景,联通考虑使用 Flink SQL 来搭建通用的平台,以此来提升研发效率。 最后,联通会继续探索 Flink 在数据湖中的应用。



相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
9天前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
277 33
The Past, Present and Future of Apache Flink
|
1月前
|
SQL 运维 网络安全
【实践】基于Hologres+Flink搭建GitHub实时数据查询
本文介绍了如何利用Flink和Hologres构建GitHub公开事件数据的实时数仓,并对接BI工具实现数据实时分析。流程包括创建VPC、Hologres、OSS、Flink实例,配置Hologres内部表,通过Flink实时写入数据至Hologres,查询实时数据,以及清理资源等步骤。
|
4天前
|
数据处理 数据安全/隐私保护 流计算
Flink 三种时间窗口、窗口处理函数使用及案例
Flink 是处理无界数据流的强大工具,提供了丰富的窗口机制。本文介绍了三种时间窗口(滚动窗口、滑动窗口和会话窗口)及其使用方法,包括时间窗口的概念、窗口处理函数的使用和实际案例。通过这些机制,可以灵活地对数据流进行分析和计算,满足不同的业务需求。
52 27
zdl
|
1月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
155 56
|
12天前
|
流计算 开发者
【开发者评测】实时计算Flink场景实践和核心功能体验测评获奖名单公布!
【开发者评测】实时计算Flink场景实践和核心功能体验测评获奖名单公布!
|
1月前
|
运维 数据挖掘 网络安全
场景实践 | 基于Flink+Hologres搭建GitHub实时数据分析
基于Flink和Hologres构建的实时数仓方案在数据开发运维体验、成本与收益等方面均表现出色。同时,该产品还具有与其他产品联动组合的可能性,能够为企业提供更全面、更智能的数据处理和分析解决方案。
|
1月前
|
SQL 运维 数据可视化
阿里云实时计算Flink版产品体验测评
阿里云实时计算Flink基于Apache Flink构建,提供一站式实时大数据分析平台,支持端到端亚秒级实时数据分析,适用于实时大屏、实时报表、实时ETL和风控监测等场景,具备高性价比、开发效率、运维管理和企业安全等优势。
|
2月前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
826 13
Apache Flink 2.0-preview released
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
89 3
|
3月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多
    下一篇
    DataWorks