订阅本站
收藏本站
微博分享
QQ空间分享

Storm - 使用过程中的一点思考

alen 分类:教程 评论: 加入收藏

引子

这几天为了优化原有的数据处理框架,比较系统的学习了storm的一些内容,整理一下心得

1. storm提供的是一种数据处理思想,它不提供具体的解决方案

  storm的核心是topo的定义,而topo承载着所有的业务逻辑,我们基于storm的topo的组织方案,来编排私有的业务实现逻辑。

  storm的业务抽象是最基本的信息流式处理范式。

2. storm支持多种语言

  storm提供的处理框架支持多种语言,java只是其中一种,我们可以使用不同的语言实现topo

3. storm会将依赖的class打入同一个类

  这对初学者可能很奇怪,但这是storm为了分布式部署所做的妥协,如果jar包本身带有运行期所需要的所有东西,那storm本身就可以只作为一个运行框架而存在,而jar包在cluster之间的分发也会变得容易许多。

4. storm可以支持多个topo

  上面一再说了,storm本身只是一种数据的处理框架,业务逻辑的核心是topo,我们可以向storm集群中提交多个topo来充分使用storm的集群式处理能力。也因为配置是对topo生效的,因此也可以定义topo的处理能力。

5. 与Hadoop相比较,storm更擅长即时处理

  storm不会有hadoop复杂和冗长的预处理过程,分布式的storm和分布式的hadoop是一对好搭档,他们可以共同构成一套大数据处理框架。

6. storm的topo间通信基本是不可行的

  topo在storm中独立运行,互不干扰的,在代码层面进行topo的直接通信是不可行的(至少我没有找到),只能通过storm ui和有限的api来进行监控。

  如果实在有通信需求,可以考虑使用zookeeper或者数据库作为通信的中介,有topo与中介通信实现间接的交流。

一种基于Storm的可扩展即时数据处理架构思考 http://www.linuxidc.com/Linux/2015-07/120511.htm

Storm如何分配任务和负载均衡?  http://www.linuxidc.com/Linux/2015-07/120466.htm

Storm进程通信机制分析 http://www.linuxidc.com/Linux/2014-12/110158.htm

Apache Storm 的历史及经验教训  http://www.linuxidc.com/Linux/2014-10/108544.htm

Apache Storm 的详细介绍:请点这里
Apache Storm 的下载地址:请点这里

 本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120512.htm

linux

TAG:

文章评论

留言与评论(共有 0 条评论)
   
验证码: