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