一,Strom的特点
1,架构:
1.1,Nimbus
1.2,Supervisor
1.3,Worker
2.2,编程模型:
2.1,DAG
2.2,Spout
2.3,Bolt
3,数据传输:
3.1,Zmq
Zmq也是开源的消息传递的框架,虽然叫mq,但它并不是一个message queue,而是一个封装的比较好的
3.2,Netty
netty是NIO的网络框架,效率比较高。之所以有netty是storm在apache之后呢,zmq的license和storm的license不兼容的,bolt处理完消息后会告诉Spout
4,高可用性:
4.1,异常处理
4.2,消息可靠性保证机制
5,可维护性:Storm有个UI可以看跑在上面的程序监控
二,Strom实时低延迟,主要有两个原因
1,Strom进程是常驻内存的,不像Hadoop里面是不断的启停的,就没有不断启停的开销。
2,Strom的数据是不经过磁盘的,都是在内存里面,处理完就没有了,处理完就没有了,数据的交换经过网络,这样就避免磁盘IO的开销,所以Strom可以很低的延迟。
三,Strom和Hadoop的区别
1,数据来源:Hadoop是HDFS上某个文件夹下的可能是