极客前程大数据--storm简介
简介
•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
版权声明:本文为博主原创文章,转载请附上博文链接!