storm - 使用过程中的一点思考
引子
这几天为了优化原有的数据处理框架,比较系统的学习了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 - 使用过程中的一点思考的更多相关文章
- 关于Jaccard相似度在竞品分析中的一点思考
上个月对一个小项目的效果进行改进,时间紧,只有不到一周的时间,所以思考了一下就用了最简单的方法来做,跟大家分享一下(项目场景用的类似的场景) 项目场景:分析一个产品的竞品,譬如app的竞品.网站的竞品 ...
- ActiveMQ NMS使用过程中的一点经验
最近,项目中使用到了ActiveMQ获取第三方推送过来的数据.具体背景是:公司需要监控全国各地车辆实时运行的GPS数据,但监控本身不是公司做的,而是交给第三方公司做,第三方采集GPS数据后推送给我们. ...
- storm 使用过程中遇到的问题
1 bolt不停重启,excutor无法启动. nimbus日志类似如下(), 2014-03-12 10:55:06 b.s.d.nimbus [INFO] Executor MITAS3-74-1 ...
- SQL Server 2017 安装过程中的一点说明(有点意思)
会提到:“安装程序无法与下载服务器联系.请提供 Microsoft 机器学习服务器安装文件的位置,然后单击“下一步”.可从以下位置下载安装文件” 的解决方案 安装过程和2016大体一致,机器学习这款更 ...
- 关于teleport_pro使用过程中的一点疑惑
在我新建工程的时候,有两个选项,一个是"new project wizard"另一个是"new project",然后就纠结了,我应该使用那个呢? 使用第一个的 ...
- ubuntu安装过程中遇到问题小结
一.下载 官网下载地址:https://www.ubuntu.com/download/desktop/contribute?version=16.04.4&architecture=amd6 ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- Storm编译打包过程中遇到的一些问题及解决方法
作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: http://www.cnblogs.com/panfeng412/archive/2013/11/30/som ...
- 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能
说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...
随机推荐
- vhost设定
vhost设定 http.conf <Directory /> AllowOverride none #Require all denied </Directory> ...
- PHP实现冒泡算法
<?php //php函数:count($arr)返回array的数值总数. function bubble_sort($arr){ for ($i = 6;$i > 0;$i --){ ...
- Spark Streaming揭秘 Day34 解析UI监听模式
Spark Streaming揭秘 Day34 解析UI监听模式 今天分享下SparkStreaming中的UI部分,和所有的UI系统一样,SparkStreaming中的UI系统使用的是监听器模式. ...
- python安装与环境变量配置
默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册python环境变量:假设python的安装 ...
- 动态LINQ构建(实现等于不等于大于小于,like以及IN)
首先感谢园子里的“红烧狮子头”,他的工作是本文的基础,引文如下http://www.cnblogs.com/daviddai/archive/2013/03/09/2952087.html,本版本实现 ...
- PIL 安装
1.安装依赖包 1.1 ubuntu安装 apt-get install python-devapt-get install libjpeg-dev apt-get install libjpeg8- ...
- 几种解析xml方式的比较
1: DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加 ...
- 十七、mysql 分区之 锁问题
1.演示一个表锁,基于myisam CMD 1 CMD2 create table e1 (id int ,name char(20)); lock table e1 read; [select|in ...
- DB天气app冲刺第十一天
今天是第十一天了.今天遇到了一个很麻烦的问题 就是程序好好的然后调试运行之后能够安装成功 但总是运行不了 一直闪退.最主要的问题是代码还没有问题,这是最让人揪心的一个问题了.因为有bug的话还可以改, ...
- poj 3207 Ikki's Story IV - Panda's Trick (2-SAT)
http://poj.org/problem?id=3207 Ikki's Story IV - Panda's Trick Time Limit: 1000MS Memory Limit: 13 ...