Storm基础(三)--Storm架构原理

Storm是一个用于实时计算的分布式系统,确保每个消息都得到处理。它以流(Stream)为基本抽象,流由Spout(数据源)产生,经过Bolt(处理组件)进行处理。Spout可以从各种数据源如Twitter API获取数据,Bolt则负责数据的转换和处理。Storm的处理模型可以被看作是一个有向无环图(DAG),称为Topology,由Stream、Spout和Bolt组成,持续运行直到被停止。开发过程中,Spout用于连接数据源,Bolt执行计算任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。Storm的处理速度非常惊人:经测试,每个节点每秒可以处理100万个数据元组。

设计思想

在Storm中也有对流(Stream)的抽象,流是一个不间断的、无界的连续TupleTuple是包含一个或多个键值对的集合

Storm认为每个流都有一个Stream源,也就是原始元组的源头,所以它将这个源头抽象为Spout(水龙头),Spout可能连接Twitter API并不断发出推文(Tweet),也可能从某个队列中不断读取队列元素并装配为Tuple发射。

有了源头即Spout也就是有了流,同样的思想,Twitter将流的中间状态转换抽象为Bolt,Bolt可以消费任意数量的输入流,只要将流方向导向该Bolt,同时它也可以发送新的流给其他Bolt使用,这样一来,只要打开特定的Spout(管口),再将Spout中流出的Tuple导向特定的Bolt,由Bolt处理导入的流后再导向其他Bolt或者目的地

假设Spout就是一个一个的水龙头,并且每个水龙头里流出的水是不同的,想获得哪种水就拧开哪个水龙头,然后使用管道将水龙头的水导向到一个水处理器(Bolt),水处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值