Storm学习00---Storm的设计思想

Storm的设计思想

  在Strom中有对流的抽象,流是一个不间断的无界的连续的tuple,注意Storm在建模事件流时,
把流中的事件抽象为tuple即元组
这里写图片描述

Storm认为每个stream都有一个源,也就是stream源头,
将这个源头抽象为Spout
spout从某个队列中不断获取元素,并封装为tuple发射。

有了源头即spot也就有了steam,那么如何处理stream中的tuple?
同样的思想,将流的中间状态转换为Bolt,Bolt可以消费任意数量的输入流,
只要将流方向导向改Bolt, 同时它可以发送新的流给其他Bolt使用,
这样一来,只要打开特定的Spout(管口),在将spout中的tuple导向特定的Bolt,
Bolt对导入的流做处理后在导向其他的Bolt或者目的地。

我们可以认为Spout为一个个水龙头,并且每个水龙头里流出的水是不同的,我们想拿那种水就拧开哪个水龙头,然后使用管道(stream)将水龙头的水导向一个水处理器(Bolt),水处理器处理后,在使用管道(stream)导向另一个处理器(Bolt)或者存入容器中。
这里写图片描述

为了增大水处理的效率,我们可以在同个水源上接多个水处理器,这样可以提高·效率:
这里写图片描述
上面一副图为有向无环图, Storm将这个图抽象为Topology(即拓扑图)
topology是storm中最高层次的一个抽象概念,它可以被提交到storm集群中执行,
一个拓扑就是一个流转图:

  • 图中每个节点是一个spout或者bolt,
  • 图中每个边表示bolt订阅了那些流,
  • 当spout或者bolt发送元组到流中,它就发送元组到每个订阅了该流的bolt,
  • 这就意味不要手工拉管道,只要预先订阅,spout会将流发送到指定的bolt.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值