返回
从 Storm 到 Flink,有赞五年实时计算效率提升实践
人工智能
2023-09-22 15:08:16
导读:作为一家专注于商家服务的公司,有赞致力于提供全行业、全场景的电商解决方案。有赞的大量业务场景依赖对实时数据的处理,实时计算作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,包括交易数据大屏、商品实时统计分析、日志平台、调用链、风控等多个业务场景。本文将介绍有赞实时计算平台从 Storm 到 Flink 的演进历程、效率提升实践,以及未来的技术规划。
一、有赞实时计算的演进之路
- Storm 时代
有赞实时计算平台最初采用 Storm 作为计算引擎。Storm 是一个分布式、容错的实时计算框架,具有高吞吐量、低延迟的特点。在 Storm 时代,有赞实时计算平台主要用于处理交易数据大屏、商品实时统计分析等业务场景。
- Flink 时代
随着业务的快速发展,有赞实时计算平台面临着越来越多的挑战,包括:
- 数据量激增: 业务数据量呈爆发式增长,Storm 的处理能力逐渐难以满足需求。
- 计算效率低: Storm 的计算效率较低,难以满足实时业务场景的低延迟要求。
- 运维复杂: Storm 的运维相对复杂,需要大量的运维人员投入。
为了应对这些挑战,有赞实时计算平台于 2018 年开始探索新的计算引擎。经过评估,有赞最终选择了 Apache Flink。
Flink 是一个统一的分布式流和批处理平台,具有高吞吐量、低延迟、高容错性等特点。与 Storm 相比,Flink 具有以下优势:
- 更快的处理速度: Flink 的流处理引擎基于事件驱动的内存计算,处理速度远高于 Storm。
- 更低的延迟: Flink 的端到端延迟可以控制在毫秒级,满足实时业务场景的低延迟要求。
- 更简单的运维: Flink 的运维相对简单,可以节省大量的运维成本。
二、有赞实时计算效率提升实践
在迁移到 Flink 之后,有赞实时计算平台进行了大量的效率提升实践,包括:
- 作业优化: 对作业进行优化,包括调整并行度、优化数据分区、减少不必要的 shuffle 等。
- 资源优化: 对资源进行优化,包括合理分配资源、使用容器化技术、采用弹性伸缩策略等。
- 算法优化: 对算法进行优化,包括使用增量算法、减少不必要的计算、优化数据结构等。
- 代码优化: 对代码进行优化,包括使用高效的数据结构、避免不必要的对象创建、优化代码逻辑等。
通过这些效率提升实践,有赞实时计算平台的性能得到了显著提升。以交易数据大屏为例,迁移到 Flink 之后,处理速度提升了 5 倍以上,端到端延迟降低了 80% 以上。
三、有赞实时计算的未来规划
未来,有赞实时计算平台将继续围绕以下几个方向进行演进:
- 云原生化: 将实时计算平台云原生化,利用云计算平台的弹性、可扩展、低成本等优势,降低运维成本,提升平台稳定性。
- AI 赋能: 将 AI 技术融入实时计算平台,利用 AI 算法提升平台的智能化水平,实现自动作业优化、自动故障恢复等功能。
- 生态建设: 打造实时计算生态,提供丰富的组件和工具,降低用户的使用门槛,提升平台的易用性。
有赞实时计算平台的演进之旅仍在继续,有赞将继续探索新的技术,优化平台性能,提升用户体验,为有赞的业务发展提供强有力的技术支撑。