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 官网了解。
评论