比Storm更快的Twitter Heron

Tiwtter公布了其新型大数据实时处理架构Heron,Tiwtter每天数十亿的事件数据,过去主要使用Apache Storm进行分析处理,现在随着数据量增加等不断演进,他们设计了一个新的系统Heron,充分兼容于Storm的API的实时分析平台。

一个实时流系统要求一定的系统性能能够大规模分析数据,需要每分钟处理数十亿的事件,只能有次秒级的延迟,较高的数据精确性,能够弹性应付流量尖峰。易于调试,方便部署。

为了实现这个目标,他们进行了几种可能方案:拓展Storm,但是因为这个需求已经会改变Storm核心架构,拓展它会造成更长的开发周期,其他开源流处理框并不能在规模 吞吐量和延迟上同时满足要求,而且这些系统不兼容于Storm API,采取新的API意味着更大的变动更长的迁移时间,这样,他们决定建立一个又符合新的要求,又能兼容于Storm API的新系统。

开发Heron主要目标是提高性能预期,提供开发人员的生产性和易于管理,整个Heron架构如图:用户调用Storm API创建和提交拓扑到一个调度器,这个调度器以Job方式运行每个拓扑,每个job由几个容器组成,容器之一运行主拓扑,负责管理拓扑,其余容器每个运行一个流管理器,负责数据路由,有一个度量管理器会收集和报告各种度量数据,很多进程称为Heron实例会运行用户定义的Spout/bolt代码(Storm术语),这些容器将基于资源跨集群节点被调度和分配,拓扑的元数据如物理计划和执行细节保留在ZooKeeper中。





Heron有以下特点:
1. 抽离的调度器,通过抽象出专门的调度器组件,他们可以轻松在一个共享基础设施上部署运行各种调度框架,如Mesos, YARN和其他定制环境。

2.处理尖峰和拥塞:Heron有反压机制能够在执行时动态调整拓扑中的数据流速率,根本不会影响数据的精确性,这对于应付尖峰流量和管道堵塞时特别有用。

3.易于调试,每个任务以进程级别隔离运行,这就容易理解其运行行为 性能和情况,配合UI能够激活更有效的问题定位。

4.兼容于Storm

5.可扩展性和延迟。

6.Heron性能:Heron比Storm在吞吐量上有10-14倍提升,而延迟降低了5-15倍。

比所有这些都快的,是新技术的更新速度