Storm概念學習系列之storm的功能和三大應用

2021-09-07 07:09:37 字數 975 閱讀 2276

不多說,直接上乾貨!

storm的功能

下面介紹storm 的三大主要應用

(1)流處理( stream processing)

storm 可用來實時處理新資料和更新資料庫,兼具容錯性和可擴充套件性,即 storm 可以用來處理源源不斷流進來的訊息,處理之後將結果寫入某個儲存中。

(2)持續計算( continuous computation)

storm 可進行連續查詢並把結果即時反饋給客戶端,如把 twitter 上的熱門話題傳送到瀏覽器中。

storm能保證計算可以永久執行,直到使用者結束計算程序為止。

(3)分布式遠端程式呼叫( distributed rpc)

storm 可用來並行處理密集查詢。 storm 的拓撲結構是乙個等待呼叫資訊的分布函式,當它收到一條呼叫資訊後,會對查詢進行計算,並返回查詢結果。例如,分布式 rpc 可以做並行搜尋或者處理大集合的資料,通過配置drpc伺服器,將 storm的topology發布為drpc服務。客戶端程式可以呼叫drpc服務將資料傳送到 storm 集群中,並接收處理結果的反饋。這種方式需要drpc伺服器**,其中 drpc 伺服器底層通過 thrift 實現。適合的業務場景主要是實時計算,且擴充套件性良好,可以增加每個節點的 worker 數量來動態擴充套件。

storm 絕對是乙個相當「有內涵」的系統,能把那麼複雜的事情抽象得很完美,能把數學用到極致,這是筆者使用 storm 實現訊息確保被執行一次之後最直接的感覺。例如網際網路方向的實時推薦,海量的使用者、資料,且需要實時的推薦演算法計算,該如何實現?有了 storm, spout 從資料來源取得資料, bolt 可以合併,也可以切分資料,最終完成整個業務邏輯處理並輸出結果。分分合合,就像河水從曲曲折折的河道一直流向大海一樣,所以也稱這種資料處理方式為流式計算

Storm概念學習系列之storm的定時任務

不多說,直接上乾貨!至於為什麼,有storm的定時任務。這個很簡單。但是,這個在工作中非常重要!假設有如下的業務場景 這個spoult源源不斷地傳送資料,boilt呢會進行處理。然後呢,處理後的結果,假設要寫到mysql裡面。假設,spout有幾十萬條,這麼過來。寫入到bolt,意味著,它一秒鐘要呼...

Beam概念學習系列之PTransform資料處理

不多說,直接上乾貨!ptransform資料處理 ptransform對pcollection進行並行處理,每次處理1條,例如filter過濾 groupby分組 combine統計 join關聯等等,還允許根據業務邏輯編寫pardo。apache beam借鑑了函式式程式設計的不可變性,ptran...

Spark RDD概念學習系列之如何建立RDD

不多說,直接上乾貨!方式一 從集合建立rdd 1 makerdd 2 parallelize 注意 makerdd可以指定每個分割槽perferredlocations引數,而parallelize則沒有。方式二 讀取外部儲存建立rdd spark與hadoop完全相容,所以對hadoop所支援的檔...