極客前程大數(shù)據(jù)--storm簡介
簡介
?Storm是個實時的、分布式以及具備高容錯的計算系統(tǒng)
–Storm進(jìn)程常駐內(nèi)存
–Storm數(shù)據(jù)不經(jīng)過磁盤,在內(nèi)存中處理
?Twitter開源的分布式實時大數(shù)據(jù)處理框架,最早開源于github
?2013年,Storm進(jìn)入Apache社區(qū)進(jìn)行孵化
?2014年9月,晉級成為了Apache頂級項目
?官網(wǎng) http://storm.apache.org/
?國內(nèi)外各大網(wǎng)站使用,例如雅虎、阿里、百度
?架構(gòu)
–Nimbus 主節(jié)點
–Supervisor 從節(jié)點
–Worker 從節(jié)點啟動的進(jìn)程
?編程模型
–DAG (Topology)
–Spout
–Bolt
?數(shù)據(jù)傳輸
–ZMQ
–ZeroMQ 開源的消息傳遞框架,并不是一個MessageQueue
–Netty
–Netty是基于NIO的網(wǎng)絡(luò)框架,更加高效。(之所以Storm 0.9版本之后使用Netty,是因為ZMQ的license和Storm的license不兼容。)
?高可靠性
–異常處理
–消息可靠性保障機(jī)制
?可維護(hù)性
–StormUI 圖形化監(jiān)控接口
?流式處理(異步)
–客戶端提交數(shù)據(jù)進(jìn)行結(jié)算,并不會等待數(shù)據(jù)計算結(jié)果
?逐條處理
–例:ETL
?統(tǒng)計分析
–例:計算PV、UV、訪問熱點 以及 某些數(shù)據(jù)的聚合、加和、平均等
– 客戶端提交數(shù)據(jù)之后,計算完成結(jié)果存儲到Redis、HBase、MySQL或者其他MQ當(dāng)中,
– 客戶端并不關(guān)心最終結(jié)果是多少。
?實時請求應(yīng)答服務(wù)(同步)
–客戶端提交數(shù)據(jù)請求之后,立刻取得計算結(jié)果并返回給客戶端
?Drpc
?實時請求處理
–例:圖片特征提取
?Storm:進(jìn)程、線程常駐內(nèi)存運行,數(shù)據(jù)不進(jìn)入磁盤,數(shù)據(jù)通過網(wǎng)絡(luò)傳遞。
?MapReduce:為TB、PB級別數(shù)據(jù)設(shè)計的批處理計算框架。
?Storm:純流式處理
–專門為流式處理設(shè)計
–數(shù)據(jù)傳輸模式更為簡單,很多地方也更為高效
–并不是不能做批處理,它也可以來做微批處理,來提高吞吐
?Spark Streaming:微批處理
–將RDD做的很小來用小的批處理來接近流式處理
–基于內(nèi)存和DAG可以把處理任務(wù)做的很快
---------------------
作者:boori
來源:CSDN
原文:https://blog.csdn.net/boori/article/details/84955904
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!