【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

Twitter 推出新的流处理器系统 Heron

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

    阅读完需:约 5 分钟

2011 年,Twitter 发布了开源的分布式流计算系统 Storm 。四年后,随着用户数量的急剧增加,Twitter 每天要处理的事件已经增加到十亿以上。Storm 系统应对如此庞大而复杂多样的流数据变得十分困难。为了解决该问题,Twitter 公司近期开发了一套全新的流处理系统——Heron。近日, Twitter 公司在 SIGMOD 2015 会议上对 Heron 进行了介绍

据Twitter 公司的技术经理Karthik Ramasamy 表示,Twitter 公司之前对Storm 所存在的问题以及新平台的功能需求进行了详细分析。首先,Storm 调试能力较弱的问题曾让Twitter 员工比较困扰。在Storm 中,一个拓扑中的多个组件是捆绑在操作系统的一个进程中的。这就使得在拓扑出现问题时很难迅速定位问题的根源。用户不得不借助cleaner 映射来帮助实现逻辑计算单元到物理进程的映射,从而辅助调试。此外,Storm 还需要专门的集群资源来运行拓扑。这就使得它不能利用流行的集群调度软件进行计算资源的优化。而且,在使用Storm 时,用户需要手动隔离机器才能部署一个新的产品拓扑。同样,在拓扑不再使用时还需要手动回收机器资源。所有Storm 存在的这些问题严重限制了Twitter 处理事件的能力,而且带来时间和计算资源的巨大浪费。因此,Twitter 认为新的系统需要具备能够每分钟处理上亿的事件、大规模处理数据的延迟为亚秒级、行为可预测、高数据精度、遇到局部流量过高或流水线拥堵时能够自行调整输入速率、调试方便以及能够在共享式框架中部署等功能。

据Karthik 透露,Twitter 当初考虑了三种可能的方案——扩展现有的Storm 系统、利用别的已经开源的系统和开发一套新的系统。然而,Storm 系统的核心部件并不能满足现有的需求,而对其进行修改又需要比较长的开发周期。同时,其他的开源流处理框架不能满足Twitter 在规模、吞吐量以及延迟等方面的需求。更关键的是,它们不能与Storm 的API 相兼容,迁移工作会十分复杂。因此,Twitter 最终决定开发一套全新的实时流处理系统。

根据设计要求,Heron 保持了与Storm 相同的数据模型和API,运行的也是由spout 和bolt 构成的拓扑。其总体框架包含了一个调度器和若干个拓扑。该调度器只是一个抽象模型,可以具体化为YARN、Mesos 或者ECS 等,方便资源共享。用户利用API 提交拓扑到调度器后,调度器把每个拓扑当作一个单独的任务,并根据集群中节点利用情况分派若干个容器来执行。在这些容器中,其中一个运行拓扑master,负责管理拓扑。剩余的每一个容器都需要运行一个流管理器来负责数据路由、一个metric 管理器负责收集和报告各种各样的metric 以及若干个Heron 实例进程来运行用户自定义的spout/bolt 代码。最后,拓扑的元数据,如物理规划和执行细节等都被保存在ZooKeeper 中。

因此,Heron 能够轻松部署在运行如Mesos、YARN 或者自定义调度框架的共享架构中。而且,Heron 向后兼容Storm,使得原来基于Storm 的其它系统可以继续使用。在Heron 中运行已有的Storm 拓扑完全不需要任何改变,移除了复杂的迁移过程。容器中的Heron 实例执行的是单独的任务,保证了用户利用jstack 或者heap dump 等工具即可进行实例的调试。Metric 收集器又使得拓扑中任何组件的失效变得十分明显,大大降低了调试的难度。此外,Heron 有一个背压机制能够在运行过程中动态调整拓扑中数据流的速度,而不影响数据精度。同时,与2013 年 10 月发布的Storm 相比,Heron 的吞吐量可以到达其10-14 倍,而延迟时间却只是它的1/15-1/5,资源消耗也更低。

目前,Heron 已经作为Twitter 的主要流处理器系统在运行,其中包括了数百个拓扑。由于Heron 的低资源消耗特性,迁移后的新系统硬件减少了2/3,大大提高了物理资源的利用率。Karthik 也表示,Twitter 公司非常愿意与Storm 社区或者其他开源的实时流处理系统社区分享Heron 的经验和教训。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-15 21:301964
用户头像

发布了 268 篇内容, 共 117.2 次阅读, 收获喜欢 24 次。

关注

评论

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

呼和浩特市等保测评公司在哪里?联系电话多少?

行云管家

等保 等级保护 等保测评

图解MongoDB集群部署原理(3)

Tom弹架构

多种网络设备的优缺点及网络故障的排除方法

恒生LIGHT云社区

故障 网络设备

“千言”开源数据集项目全面升级:数据驱动AI技术进步

百度大脑

人工智能

2021年我读过的52本书

SkyFire

c++ 个人成长 总结 读书 计算机

构建测试的体系化思维(基础篇)

BY林子

软件测试 测试思维

云计算厂商们,你们辜负了中国的用户

码农一米

云计算 云服务

微信小程序获取位置信息

程思扬

小程序 小程序云开发 开发者 开发 小程序生态

Linux之目录结构

入门小站

云基华海正式加入openGauss社区

openGauss

大数据SQL优化之数据倾斜解决案例全集

安第斯智能云

数据

2021年度总结,欲望反光

程思扬

经验分享 #总结# 经验总结 盘点 2021

7.3万字肝爆Java8新特性,我不信你能看完!(建议收藏)

冰河

程序员 java8 编程基础 Lamdba表达式 Stream API

微服务架构 | 如何让接口权限继续继承下去?

码农架构

Auth2 OAuth 2.0 SpringCloud Alibaba spring aop Java 开发

格创东智选择TDengine,实现海量数据实时全生命周期管理

TDengine

数据库 大数据 tdengine

谈B端产品技术团队的核心价值(1/100)

hackstoic

团队建设

注意,你所做的A/B实验,可能是错的!

字节跳动数据平台

大数据 测试 AB 增长黑客

绥北人民法院:用宜搭打造“线上法庭”,让群众少跑腿

一只大光圈

低代码 数字化转型 法院 钉钉宜搭

书单 | 2021年度经典畅销佳作盘点!

博文视点Broadview

开源堡垒机是什么?开源堡垒机的优缺点是什么?

行云管家

开源 网络安全 堡垒机 开源堡垒机

邮储银行新一代个人业务核心系统国际汇款业务上线,openGauss核心应用再创新高度

openGauss

盘点2021 | 也无风雨也无晴-转行三年,再度出发

翊君

程序员 转行 人生修炼 盘点2021 盘点 2021

荣获中国专利金奖!百度连续四年AI专利申请和授予量全国第一

百度大脑

人工智能

全新缓存组件,大幅加速云上飞桨分布式训练作业

百度开发者中心

飞桨

使用APICloud开发app的性能提升实践

YonBuilder低代码开发平台

android APP开发 APICloud 跨端开发 app性能

百度飞桨EasyDL桌面版正式上线,没网也能训练AI!

百度大脑

人工智能

在线JSON转HTML,TABLE表格工具

入门小站

工具

linux学习零基础教学课程:Linux文件系统结构

侠盗安全

Linux 运维 运维工程师 云计算架构师

关于 Apache Flink 和实时计算的最新动态、未来方向,你想知道的都在这里

Apache Flink

大数据 flink 编程 后端 实时计算

政法委多部门联防联控平台,重点人员联防联控平台建设

a13823115807

性能提升一个数量级,Java大杀器来了!Java冷启动问题的成因与解决

华章IT

Java

Twitter推出新的流处理器系统Heron_语言 & 开发_张天雷_InfoQ精选文章