“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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 说“在短时间内不会,但长期来看可能。”

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2015-06-15 13:408858
用户头像

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

关注

评论

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

区块链+收藏品,全球三种典型应用路径的差异化

CECBC

区块链 应用价值

知路,然后智行远;懂行,所以万业兴

脑极体

Kafka处理请求的全流程解析

yes

kafka 面试 后端 消息队列 源码解析

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

第十章作业

武鹏

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

区块链跃升各国创新战略

CECBC

新基建 国家战略 区块链标准

多省市出台关于区块链人才引进的计划

CECBC

新基建 区块链技术

Go: 互斥锁和饥饿

陈思敏捷

mutex Go 语言

数据库的乐观锁和悲观锁并非真实的锁

架构师修行之路

数据库 架构 乐观锁 悲观锁 分布式锁

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

热潮-区块链的价值能够体现在哪些方面?

CECBC

区块链技术 标准化 应用价值

深化区块链技术的应用 体现其价值产业发展良机

CECBC

区块链技术 数字经济

机器学习算法之——卷积神经网络(CNN)原理讲解

迈微AI研发社

学习 算法 卷积神经网络 CNN

JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!

xcbeyond

接口 新特性 JDK1.8 默认方法 JDK1.8新特性

ARTS-week-2

saddamwilson

ARTS 打卡计划

HTTPS证书过期导致的故障

焦振清

运维 https SRE 服务故障 证书过期

troubleshoot之:用control+break解决线程死锁问题

程序那些事

Java JVM 死锁

ARTS Week11

时之虫

ARTS 打卡计划

基于 grpc,protobuf搭建 server/client模型通信

是老郭啊

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

如何让区块链技术能够更好赋能数字社会建设

CECBC

区块链 数字经济

2.2.1 类反射 -《SSM深入解析与项目实战》

谙忆

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

视读——沟通的艺术,看入人里,看出人外(第二章)

废材姑娘

读书笔记 视觉笔记

Requests模块基本操作

骆俊

# spring boot自定义线程池进行异步调用

一盐难进

Java

服务器与普通电脑的区别?

德胜网络-阳

如何对 ElasticSearch 集群进行压力测试

白宦成

elasticsearch ELK Elastic Stack

如何设计实现一个证书加密签名工具包

三尾鱼

机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解

迈微AI研发社

学习 算法 KNN K聚类

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