003-storm設計思想和處理過程

1、Storm設計思想   

    Storm是對流Stream的抽象,流是一個不間斷的***的連續tuple,注意Storm在建模事件流時,把流中的事件抽象爲tuple即元組。

    Storm將流中元素抽象爲Tuple,一個tuple就是一個值列表value list,list中的每個value都有一個name,並且該value可以是基本類型,字符類型,字節數組等,當然也可以是其他可序列化的類型。

    Storm認爲每個stream都有一個stream源,也就是原始元組的源頭,所以它將這個源頭稱爲Spout。

    有了源頭即spout也就是有了stream,那麼該如何處理stream內的tuple呢。將流的狀態轉換稱爲Bolt,bolt可以消費任意數量的輸入流,只要將流方向導向該bolt,同時它也可以發送新的流給其他bolt使用,這樣一來,只要打開特定的spout(管口)再將spout中流出的tuple導向特定的bolt,又bolt對導入的流做處理後再導向其他bolt或者目的地。  

    以上處理過程統稱爲Topology即拓撲。拓撲是storm中最高層次的一個抽象概念,它可以被提交到storm集羣執行,一個拓撲就是一個流轉換圖,圖中每個節點是一個spout或者bolt,圖中的邊表示bolt訂閱了哪些流,當spout或者bolt發送元組到流時,它就發送元組到每個訂閱了該流的bolt(這就意味着不需要我們手工拉管道,只要預先訂閱,spout就會將流發到適當bolt上)。

    拓撲的每個節點都要說明它所發射出的元組的字段的name,其他節點只需要訂閱該name就可以接收處理。

2、流處理過程


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章