写点什么

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:409165
用户头像

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

关注

评论

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

10道不得不会的 Java容器 面试题

JavaPub

Java 面试 后端

Java | IO流数据流和标准输出流

陌上

Java 编程 11月月更

2022一线大厂10w字面试总结,每日刷几道,明年金三银四稳了

程序员小毕

spring 程序员 JVM 架构师 java面试

Java 后端 100多道面试题,多看点题,没坏处!

钟奕礼

Java 程序员 java面试 java编程

面试中如何才能拿到阿里 P7 的职级?

Java永远的神

Java 阿里巴巴 程序员 架构师 程序员晋升

【C语言】int 关键字

謓泽

11月月更

集合工具类Collections指南,以及Comparable和Comparator排序详解

共饮一杯无

Java 集合 11月月更

网络核心笔记(一)

lxmoe

学习笔记 网络 11月月更

仅hashmap一道面试题我就搞定了面试官成功入职面试官:我裂开了

钟奕礼

Java java面试 java编程 程序员、

计算机网络:VLAN基本概念与原理

timerring

计算机网络 VLAN 11月月更

三面头条 + 四面阿里 + 五面腾讯拿 offer 分享面经总结

程序知音

java面试 大厂面试 java架构 后端技术 Java面试八股文

Java | IO流文件专属流

陌上

Java 编程 11月月更

Java | IO流缓冲流和转换流

陌上

Java 编程 11月月更

3年Java研发,突击30天,从14K变成了30K

程序知音

Java java面试 大厂面试 java架构 后端技术

Python冷知识:如何找出新版本增加或删除了哪些标准库?

Python猫

Python

这个bug,你中招了吗!!!

石臻臻的杂货铺

kafka 后端 11月月更

【LeetCode】无重复字符的最长子串题解

Albert

算法 LeetCode 11月月更

Java中的String类常用方法

共饮一杯无

Java string 11月月更

2022全网最全最新Java面试题-独家内部教材

钟奕礼

Java 程序员 java面试 java编程

从基础到实战,阿里巴巴高并发系统设计全彩版手册限时开源

Java全栈架构师

程序员 面试 程序员人生 高并发 架构师

2022成功入职阿里:阿里的三套Java研发岗面试题总结(文末有答案)

钟奕礼

Java java面试 java编程 程序员、

2022年最新版68道Redis面试题,20000字干货,赶紧收藏起来备用!

钟奕礼

Java 程序员 java程序员 java面试 java编程

拿下大厂?这几道jvm面试题必须要懂

钟奕礼

Java 程序员 java面试 java编程

亿级万物互联新时代的物联网消息中间件EMQX调研

宋小生

物联网 mqtt emqx

美团技术官手写的精品SpringBoot笔记,涵盖99%知识点,强到离谱

小小怪下士

Java spring 程序员 springboot

Python进阶(五十三)Flask Web开发实现将表单渲染成HTML

No Silver Bullet

Python flask web开发 11月月更

一文搞懂MySQL表字段类型长度的含义

闫同学

MySQL 数据库 11月月更

网络核心笔记(二)

lxmoe

学习笔记 网络 11月月更

【LeetCode】找到最高海拔Java题解

Albert

算法 LeetCode 11月月更

10道不得不会的 SpringBoot 面试题

JavaPub

Java 后端 springboot

【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇」

码界西柚

log4j logback 全链路追踪 11月日更 MDC

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