Storm 是一个实时的、分布式的、可靠的流式数据处理系统。它的工作就是委派各种组件分别独立的处理一些简单任务。在 Storm 集群中处理输入流的是 Spout 组件,而 Spout 又把读取的数据传递给叫Bolt的组件。Bolt组件会对收到的数据元组进行处理,也有可能传递给下一个Bolt。我们可以把 Storm集群想象成一个由Bolt 组件组成的链条集合,数据在这些链条上传输,而Bolt作为链条上的节点来对数据进行处理。
Storm 保证每个消息都会得到处理,而且处理速度非常快,在一个小集群中,每秒可以处理数以百万计的消息。Storm 的处理速度非常惊人:经测试,每个节点每秒可以处理 100 万个数据元组。其主要应用领域有实时分析、在线机器学习、持续计算、分布式 RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。)、ETL(数据抽取、转换和加载)等。
Storm 和 Hadoop 集群表面看上去很类似,但是 Hadoop 上面运行的是 MapReduce Jobs,而在Storm上运行的是拓扑 Topology,这两者之间是非常不一样的,关键区别是:MapReduce 最终会结束,而一个 Topology永远会运行(除非你手动 kill 掉),换句话说,Storm 是面向实时数据分析,而 Hadoop 面向的是离线数据分析。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!