Storm里面关键的组件,有nimbus/supervisor/worker/executor,另外storm还用到了外围的组件zookeeper来存储协调数据。
在Storm中最重要的就是topology,topology就是对于DAG模型的一个实现。
采用DAG的好处,这就是第一,DAG有很多个阶段,可以进行灵活的装配,比如这里的bolt可以在这个应用被用到,也可以在另外的应用里面被用到。另外一个好处就是,它能把数据真正的流起来,还是和hadoop的mapreduce对比,如果跑4个阶段,那就需要4个mapreduce任务,每一个阶段都得等上一个阶段结束,而流式处理4个阶段就可以同时处理。吞吐量的增加。一分钟处理一个,而mapreduce4分钟处理一个。而且整个DAG这个图是在内存里面的一个图,Spout和bolt都是在内存里面进行计算的,不会写入磁盘的,所以是非常高效的在运转。
Tuple
–get[i]
–getString[i]
–getString["name"]
–Tuple的ID对于Storm的可靠性是非常有用的
Stream
–每一个Stream都有一个ID,如果没有指定写ID就用的是默认的流,叫default,每个Spout/Bolt都有一个默认的Stream:default
–一个stream中的Tuple有固定的schema
–每个spout/bolt都有一个默认的stream:default
–spout/bolt可以有多个流
Spout
其实它就是产生Tuple的源头&