极客前程大数据--storm简介

来源:CSDN 浏览量:78 发布时间:2018-12-27 21:21:56

简介


•Storm是个实时的、分布式以及具备高容错的计算系统


–Storm进程常驻内存


–Storm数据不经过磁盘,在内存中处理


•Twitter开源的分布式实时大数据处理框架,最早开源于github


•2013年,Storm进入Apache社区进行孵化


•2014年9月,晋级成为了Apache顶级项目


•官网 http://storm.apache.org/


•国内外各大网站使用,例如雅虎、阿里、百度


•架构


–Nimbus 主节点


–Supervisor 从节点


–Worker 从节点启动的进程


•编程模型


–DAG (Topology)


–Spout


–Bolt


•数据传输


–ZMQ


–ZeroMQ 开源的消息传递框架,并不是一个MessageQueue


–Netty


–Netty是基于NIO的网络框架,更加高效。(之所以Storm 0.9版本之后使用Netty,是因为ZMQ的license和Storm的license不兼容。)


•高可靠性


–异常处理


–消息可靠性保障机制


•可维护性


–StormUI 图形化监控接口


•流式处理(异步)


–客户端提交数据进行结算,并不会等待数据计算结果


•逐条处理


–例:ETL


•统计分析


–例:计算PV、UV、访问热点 以及 某些数据的聚合、加和、平均等


–       客户端提交数据之后,计算完成结果存储到Redis、HBase、MySQL或者其他MQ当中,


–       客户端并不关心最终结果是多少。




•实时请求应答服务(同步)


–客户端提交数据请求之后,立刻取得计算结果并返回给客户端


•Drpc


•实时请求处理


–例:图片特征提取




•Storm:进程、线程常驻内存运行,数据不进入磁盘,数据通过网络传递。


•MapReduce:为TB、PB级别数据设计的批处理计算框架。




•Storm:纯流式处理


–专门为流式处理设计


–数据传输模式更为简单,很多地方也更为高效


–并不是不能做批处理,它也可以来做微批处理,来提高吞吐


•Spark Streaming:微批处理


–将RDD做的很小来用小的批处理来接近流式处理


–基于内存和DAG可以把处理任务做的很快

--------------------- 

作者:boori 

来源:CSDN 

原文:https://blog.csdn.net/boori/article/details/84955904 

版权声明:本文为博主原创文章,转载请附上博文链接!