天罡:阿里巴巴的实时计算框架基于storm的优化与实践

5星 · 超过95%的资源 需积分: 10 47 下载量 53 浏览量 更新于2024-07-26 收藏 1.95MB PDF 举报
"这篇文章主要介绍了基于storm的实时计算架构,storm是Twitter开源的数据流处理框架,适用于兴趣推送、日志提醒等实时应用。文章作者来自阿里巴巴数据平台部,分享了实时计算在业务背景、业界发展、storm特性和问题、阿里巴巴业务需求以及天罡实时流计算应用开发框架等多个方面的内容。" 在大数据时代,业务背景日益复杂,数据量持续膨胀,而业务模式的创新和用户个性化需求推动了实时计算的需求。离线计算虽然在大数据处理中占据重要地位,但面对实时化、个性化的用户体验需求,流计算逐渐成为趋势。流计算能够实时处理连续的数据流,快速响应变化,从而满足业务的即时需求。 storm作为一款流行的开源流计算框架,其0.74版本具备广泛的应用场景、高可伸缩性、无数据丢失保证、强健的异常处理和良好的容错性。然而,storm也存在一些不足,如编程门槛较高,缺乏内置的持久化存储和消息接入模块,storm UI功能简单,以及nimbus节点的单点故障问题,还有不支持动态部署的topology。 阿里巴巴在面临各种实时业务需求时,将需求归纳为五个主要类别:监控业务关键指标、智能报警、实时数据应用、实时推荐和实时数据信息服务。这些需求对延迟、精度和复杂性都有不同的要求,例如事件营销和触发式服务需要分钟级的延迟,而实时推荐则需要秒级的延迟。 为解决这些问题,阿里巴巴推出了"天罡"实时流计算应用开发框架。天罡的目标是通过屏蔽底层复杂性,提供消息源接入的配置方式,降低实时计算任务的开发难度。它还引入了类SQL工具,简化与引擎系统的交互,并提供完整的任务管理,旨在让实时计算更加易用和高效。通过这样的框架,开发者可以更专注于业务逻辑,而不是底层实现,从而加速实时应用的开发和迭代。