Heron:Twitter 的新一代流处理引擎原理篇

本文介绍了流计算的背景和重要概念,并详细分析了 Twitter 目前的流计算引擎—— Heron的结构及重要组件,希望能借此为大家提供一些在设计和构建流计算系统时的经验。

流计算又称实时计算,是继以 Map-Reduce 为代表的批处理之后的又一重要计算模型。随着互联网业务的发展以及数据规模的持续扩大,传统的批处理计算难以有效地对数据进行快速低延迟处理并返回结果。由于数据几乎处于不断增长的状态中,及时处理计算大批量数据成为了批处理计算的一大难题。在此背景之下,流计算应运而生。相比于传统的批处理计算,流计算具有低延迟、高响应、持续处理的特点。在数据产生的同时,就可以进行计算并获得结果。更可以通过 Lambda 架构将即时的流计算处理结果与延后的批处理计算结果结合,从而较好地满足低延迟、高正确性的业务需求。

Twitter 由于本身的业务特性,对实时性有着强烈的需求。因此在流计算上投入了大量的资源进行开发。第一代流处理系统 Storm 发布以后得到了广泛的关注和应用。根据 Storm 在实践中遇到的性能、规模、可用性等方面的问题,Twitter 又开发了第二代流处理系统——Heron,并在2016年将它开源。

重要概念定义

在开始了解 Heron 的具体架构和设计之前,我们首先定义一些流计算以及在 Heron 设计中用到的基本概念:

  • Tuple:流计算任务中处理的最小单元数据的抽象。

  • Stream:由无限个 Tuple 组成的连续序列。

  • Spout:从外界数据源获得数据并生成 Tuple 的计算任务。

  • Bolt:处理上游 Spout 或者 Bolt 生成的 Tuple 的计算任务。

  • Topology:一个通过 Stream 将 Spout

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值