天天看點

storm之spout

spout:噴嘴、噴口。即資料從這裡發出。

spout是storm的資料來源,而spout的資料來源又是從其他地方,比如資料庫或者消息中間件中流入的。

以Kafka為例,spout先從kafka中拉取資料,然後封裝為一個tuple,發給下遊的bolt進行處理。對于Kafka來說,spout是消費者;對于bolt來說spout是生産者。

為什麼要用spout去拉取消息,而不是直接由bolt接收推送的資料呢,這中拉模式有什麼好處呢?

如果,将資料直接推送給bolt,當資料量突然增加的時候,可能導緻某一個bolt癱瘓,繼而影響整個topology運作;而當沒有資料的時候,整個topolog又處于空閑狀态,浪費資源。而由spout去拉取消息則不會出現這樣的問題。

kafkaspout的所有配置項:

具體含義在後面會總結。

參考資料:

《storm技術内幕與大資料實戰》

網絡上志同道合,我們一起學習網絡安全,一起進步,QQ群:694839022