Apache Storm是一个免费、开源的分布式实时计算系统。相对于Hadoop适用于批处理而言,Storm可以用于实时处理流式数据。Storm简单易用,支持多种编程语言。2013年9月,Storm成为了Apache软件基金会的孵化项目,近日,Apache软件基金会宣布,Storm已经孵化完毕,升级成为Apache顶级项目。这也意味着Storm社区和产品已经按照Apache 软件基金会的流程和理念顺利运作。
\\Storm本是由做分析平台的创业公司BackType开发,后来2011年7月BackType被Twitter收购,Storm得以保留并于2011年9月开源在GitHub上。在被收购后,Storm也随之成为了Twitter内部的实时数据分析系统。在Twitter的带领下,Storm获得了社区的广泛认可,Hortonworks宣布将Storm整合到自己的Hadoop企业版中,Yahoo将Storm与YARN整合成为Storm-YARN来支持的实时的流计算分析。另外,国内的几个公司也在大规模使用Storm,比如百度、淘宝,在Storm的官网也能看到他们的商标。
\\Storm也是少有的几个使用Clojure编写的开源项目之一,Clojure是一个在JVM平台运行的动态函数式编程语言。Storm的成功也证明了Clojure可以用于编写大型项目。近日,Puppet Labs决定使用Clojure重写其服务端的部分核心代码。
\\目前,热门流式计算系统还有Yahoo的S4和Spark streaming。Spark Streaming是建立在Spark上的应用框架,利用Spark的底层框架作为其执行基础,并在其上构建了DStream的行为抽象。S4(简单可扩展流系统的首字母简称:Simple Scalable Streaming System)是一个受Map-Reduce模式启发的分布式流处理引擎,设计之初是为了解决使用数据采集和机器学习算法的搜索应用环境中的数据广告的显示问题。
\\除了用于实时分析外,Storm也可用于在线机器学习、持续计算、分布式远程调用和ETL等领域。Storm目前的版本是0.9.2,更多的内容读者可以访问ASF博客和Storm官网了解。