您当前的位置: 首页 > 

宝哥大数据

暂无认证

  • 0浏览

    0关注

    1029博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

宝哥大数据 发布时间:2017-03-14 09:03:00 ,浏览量:0

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.
关注
打赏
1587549273
查看更多评论
立即登录/注册

微信扫码登录

0.0436s