B站实时流计算实践:Flink与Spark的应用与挑战
"本次分享主要介绍了Flink在哔哩哔哩(B站)的实际应用情况,包括遇到的问题、解决方案以及构建一站式实时流计算平台的过程。分享者为B站的资深开发工程师,也是平台技术负责人郑志升。内容涵盖了Flink在B站的应用背景、存在的问题、需求多样性以及对监控告警体系的改进。" 正文: Flink作为一款强大的开源流处理框架,在B站的实践中扮演了重要角色。然而,实际应用中也面临一些挑战,例如开发门槛高、作业运行质量差、监控告警成本高等问题。开发门槛高主要源于Flink基于底层实时引擎的特性,需要开发者具备一定的知识基础,如环境配置、语言编程、数据可靠性以及作业质量控制。此外,随着业务需求的多样化,Flink需要支持native流处理与batch处理,以及window和join等复杂操作。 在作业运行质量方面,B站曾使用纯流式Flink streaming和微批次的Spark streaming,但由于Spark 2.4.x版本对某些Operations支持不够完善,导致作业稳定性差。同时,不同作业通过命令行单独提交,增加了维护成本。Yarn的切换和抖动也影响了作业的稳定性,缺乏有效的自恢复机制。因此,监控告警成本较高,业务方需要自行检测作业状态并进行容错恢复,而且没有统一的监控告警体系,接入成本和重复开发维护问题突出。 为了解决这些问题,B站构建了一站式可视化实时流计算平台,支持Spark和Flink等多种实时引擎。该平台强调极致的工程效率,通过SQL和DAG(有向无环图)工作流,简化代码编写,提高开发效率。同时,通过流计算模型抽象,将Source、Transform、Sink的语义进行规范化,定义标准的Source和Sink,支持自定义Transform。 数据集成阶段引入了Schema标准化,确保数据输入、输出和状态的一致性。监控方面,平台实现了Metric化,提供通用指标模型,包括输入源条数、任务消费条数、数据堆积lag、延迟反压情况等。此外,还封装了通用打点SDK,支持业务方直接进行个性化指标打点,并建立了指标化告警体系,根据预设规则(如上下限、周同比、断流等)进行自动告警。 通过这些改进,B站在Flink的应用上实现了更高效、稳定和可监控的实时流处理,降低了开发和运维成本,提升了整个平台的健壮性和用户体验。这一实践不仅展示了Flink在实际业务中的潜力,也为其他企业提供了借鉴和参考。
![](https://csdnimg.cn/release/download_crawler_static/12186332/bg9.jpg)
![](https://csdnimg.cn/release/download_crawler_static/12186332/bga.jpg)
剩余46页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/dc64ce055b5d4e1f87f4dc15336ece3a_qq_38278799.jpg!1)
- 粉丝: 97
- 资源: 162
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)