写点什么

Twitter 已经用 Heron 替换了 Storm

  • 2015-06-15
  • 本文字数:944 字

    阅读完需:约 3 分钟

Twitter 已经用 Heron 替换了 Storm。此举将吞吐量最高提升了 14 倍,单词计数拓扑时间延迟最低降到了原来的 1/10,所需的硬件减少了 2/3。

Twitter 使用 Storm 实时分析海量数据已经有好几年了,并在 2011 年将其开源。该项目稍后开始在 Apache 基金会孵化,并在去年秋天成为顶级项目。Storm 以季度为发布周期,现在已经达到了 0.9.5 版本,并且正在向着人们期望的 1.0 稳定版前进。但一直以来,Twitter 都在致力于开发替代方案 Heron,因为 Storm 无法满足他们的实时处理需求。

Twitter 的新实时处理需求包括:“每分钟数十亿的事件;大规模处理具有次秒级延迟和可预见的行为;在故障情况下,具有很高的数据准确性;具有很好的弹性,可以应对临时流量峰值和管道阻塞;易于调试;易于在共享基础设施中部署。” Karthik Ramasamy 是 Twitter Storm/Heron 团队的负责人。据他介绍,为满足这些需求,他们已经考虑了多个选项:增强 Storm、使用一种不同的开源解决方案或者创建一个新的解决方案。增强 Storm 需要花费很长时间,也没有其它的系统能够满足他们在扩展性、吞吐量和延迟方面的需求。而且,其它系统也不兼容 Storm 的 API,需要重写所有拓扑。所以,最终的决定是创建 Heron,但保持其外部接口与 Storm 的接口兼容。

拓扑部署在一个 Aurora 调度器上,而后者将它们作为一个由多个容器(cgroups)组成的任务来执行:一个 Topology Master、一个 Stream Manager、一个 Metrics Manager(用于性能监控)和多个 Heron 实例 (spouts 和 bolts)。拓扑的元数据保存在 ZooKeeper 中。处理流程通过一种反压机制实现调整,从而控制流经拓扑的数据量。除 Aurora 外,Heron 还可以使用其它服务调度器,如 YARN 或 Mesos。实例运行用户编写的 Java 代码,每个实例一个 JVM。Heron 通过协议缓冲处理彼此间的通信,一台机器上可以有多个容器。(要了解更多关于 Heron 内部架构的细节信息,请阅读论文《 Twitter Heron:大规模流处理》。)

Twitter 已经用 Heron 完全替换了 Storm。前者现在每天处理“数 10TB 的数据,生成数 10 亿输出元组”,在一个标准的单词计数测试中,“吞吐量提升了 6 到 14 倍,元组延迟降低到了原来的五到十分之一”,硬件减少了 2/3。

当被问到 Twitter 是否会开源 Heron 时,Ramasamy 说“在短时间内不会,但长期来看可能。”

2015-06-15 13:409488
用户头像

发布了 1008 篇内容, 共 447.4 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

《原则》(十三)

Changing Lin

6月日更

JavaScript学习(二)

空城机

JavaScript 大前端 6月日更

从零开始搭建一个个人博客网站--Task0

IT蜗壳-Tango

django IT蜗壳教学 6月日更 Datawhale

「SQL数据分析系列」2. 创建和使用数据库

Databri_AI

数据库 语法

ES2021 带来的新特性

KooFE

JavaScript 6月日更 ES2021

网络攻防学习笔记 Day44

穿过生命散发芬芳

网络攻防 6月日更

我在Dubbo源码里学到了如何保证虚拟节点均匀分布!

Kareza

dubbo dubbo源码

架构实战营-模块一作业

rubys_

架构实战营

新手讲解this

前端树洞

JavaScript 面试 大前端 js

Kubernetes手记(10)- POD 存储卷

雪雷

k8s 6月日更

产品开发的过程

Qien Z.

运营管理 6月日更

拆分电商系统为微服务

chenmin

nacos配置中心模块详解

捉虫大师

nacos 配置中心

2020年度编程语言排行榜 C语言称霸,Java遭遇滑铁卢?

架构精进之路

编程语言 6月日更

JAVA笔记(一)--软件安装-MyEclipse

加百利

Java 6月日更

Git 各指令的本质,真是通俗易懂啊

xcbeyond

6月日更

☕【JVM技术探索】重塑虚拟机性能调优计划

码界西柚

JVM jvm调优 GC调优 6月日更

模块6作业

薛定谔的指南针

架构实战营

架构实战营模块6作业

梦寐凯旋

#架构实战营

这可能是介绍Android UvcCamera最详细的文章了

小驰笔记

android 音视频 UvcCamera 引航计划

【21-6】PushGateway快速上手

耳东@Erdong

Prometheus 6月日更 PushGateway

LeetCode 每日一题「判定字符是否唯一」

陈皮的JavaLib

Java 算法 LeetCode

[译] Android 的 Java 8 支持

Antway

6月日更

🍃【SpringBoot技术专题】「StateMachine」FSM状态机设计及实现

码界西柚

springboot 6月日更 状态机 StateMachine

CSS 选择器总结

编程三昧

CSS html5 大前端 DIV+CSS CSS选择器

(VMware)ubuntu 环境下搭建docker环境

逸少

Docker Docker-compose vmware Ubuntu20.04

浅浅谈Redux

蛋先生DX

React Redux 6月日更

【经验分享】RTC 技术系列之视频编解码

Hanson

音视频

算法之统计岛屿数量

Skysper

算法 深度优先搜索

【Vue2.x 源码学习】第十三篇 - 生成 ast 语法树 - 正则说明

Brave

源码 vue2 6月日更

常用消息队列对比

看山

MQ 6月日更

Twitter已经用Heron替换了Storm_大数据_Abel Avram_InfoQ精选文章