• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
Facebook与Yahoo:系统间实时数据流管理工具
发布日期:2016-7-31 14:7:28

  据Gigaom消息,在上周Facebook和Yahoo!公开了多系统间实时数据流管理工具的一些细节。其中Yahoo!公布的Storm-YARN已开源,其基于YARN(Hadoop 2.0)和Storm,实现了Storm和Hadoop集群间更紧密的集合——在需要时甚至可通过Storm来借用Hadoop批处理集群的能力。Wormhole则集成了监视系统,支持容量计划,执行自动修复,自动化配置等众多特性,遗憾的是Wormhole并未开源。

  下面是为译文:

  6月11日, Yahoo!开源了人气流处理框架Storm的内部定制版——Storm-YARN,用于Hadoop集群中。接着在14号, Facebook公开名为Wormhole系统的细节,用来在多个应用间的通信,当一个系统中的数据发生发变化的时候,可自动同步到其它相关系统,保证数据的实时更新。

  Yahoo!:Storm-YARN

  流处理框架的实时性广受到大数据分析者的喜爱,它的价值更是毋庸置疑的,Twitter的成功就证明Storm的价值。Twitter使用Storm来处理tweet,让用户的Timelines就可保持实时更新,Twitter还使用Storm做类似实时分析及新趋势的发现。事实上Twitter通过购买Storm建立者Backtype确实获得了技术与人才上的双丰收。


  图1

  提交并执行Storm拓扑

  从2011年Storm开源后,其就作为Hadoop的流处理组件在网络公司中流行了起来。而现在Yahoo!让Storm与Hadoop的集合更加紧密,甚至已达到Storm在需要时可借用批处理节点能力的程度。这是个非常有价值的特性——而在上周Facebook Analytics @ Web Scale会议的一个演讲上,Twitter的工程师Krishna Gade还惋惜过Storm自动扩展的局限性。


  图2

  发布Storm集群和Hadoop YARN

  Storm-ARN的实现还获益于YARN的一个重要特性,也是Hadoop 2.0版本一处重大更新——允许Hadoop同时运行多个处理框架。 Twitter曾经使用开源资源管理器Mesos达到相同的功能,但Gade的同事Dmitriy Ryaboy曾申明当Hadoop更新到2.0版本的时候,该公司将把大数据作业转移到YARN上,并且将更多的社区努力放到它的持续改进上,同时还将为其构建更多的应用程序。

  Facebook:Wormhole

  遗憾的是迄今Facebook的Wormhole并未开源,但其经验是仍然值得借鉴的,国内如阿里云这样的企业特别可以学习(而LinkedIn已开源了类似的技术Kafka以及Databus)。Wormhole应归属于发布-订阅系统,在Facebook,Wormhole给Facebook主用户数据库发送新内容进行图搜索,以最快的速度得到搜索结果,同样Wormhole还可给其Hadoop环境发送数据,让分析作业使用的数据保持最新。


  图3

  就像Facebook前的作品一样(比如新交互式查询引擎Presto),Wormhole具备着很好的扩展性。通过Laurent Demailly的tweet了解到,它的延时完全控制在毫秒级:

  Wormhole每天处理超过1万亿的信息,每秒1000万条以上。Wormhole被用以处理各组件的故障,具备以下几个特性:集成了监视系统,执行自动修复,支持容量计划,自动化配置及突变处理支持。

  最后

  尽管Storm-YARN 和Wormhole分别由不同的公司开发,但显然他们将掀起Hadoop与Storm领域的一场飓风。应用程序随着网络公司业务的延伸,也扩展到多应用与服务混合类型,因此一场针对基础设施的运动也如火如荼的进行着。基于数据层系统的不同需求,这些公司不得不放弃他们最初的架构,转至建设类似Storm以及Wormhole去管理不同系统之间的数据流。