首页 > 代码库 > 流式计算框架-STORM简介

流式计算框架-STORM简介

在当前的数据分析领域,对实时数据的计算需求越来越强烈,在此领域,出现了各类计算框架,如:Storm、S4等。目前本土公司对这些流式计算框架的应用也比较广泛,但苦于相关文档英文居多,缺少成系列且与官方相对应的中文手册。本系列试图从官方文档翻译入手,给大家呈现较为完备的中文资料,同时也是对自身知识的总结沉淀。

在这个系列博客中,我们选择了twitter的Storm框架,原因很简单,因为本人长期使用的就是该框架,咱们先从简介开始。

Apache Storm是一个免费、开源、分布式的实时计算系统。相对于Hadoop适用于批处理而言,利用Storm可以非常容易地对流式数据进行实时可靠处理。Storm使用简单,支持多种编程语言且非常有趣!

Storm适用于多种使用场景:实时分析、在线机器学习、持续计算、分布式RPC(Remote Procedure Call)、ETL(Extract & Transformation & Loading)等。Storm性能非常好,基准测试表明:单个节点每秒内可以处理数百万的消息,并且其是可扩展的、容错的、保证消息得以可靠处理、易于安装与维护。


图1 Storm流式计算示意图

Storm整合了我们已经使用过的队列技术和数据库技术。Storm计算作业(即:topology)消费数据流并以各种复杂方式处理这些数据流,在计算的每个阶段,支持以需要的方式对数据流进行重新分配。有关其使用的详细介绍参见使用教程。

如今已经有很多公司和项目在使用Storm,如:阿里、百度、淘宝等。

目前Storm已经成为Aapche基金会的孵化项目,接收Apache的孵化赞助。