Storm中數據的輸入輸出

轉載請註明出處:http://blog.csdn.net/jmppok/article/details/17284817
git

概述

Storm是一個實時流處理系統,其中運行的是Topology。初學Storm的小夥伴可能會有這樣的問題:github

我寫了Spout和Bolt,建立了Topology,提交到了Cluster中,而後呢?redis

怎麼訪問並使用這個Topology呢?數據庫

想象中的辦法

剛開始接觸Storm的時候,我猜測大概能夠經過在Spout中監聽一個端口如TCP Socket,HTTP之類的,外面向這個端口發送數據. 而後再最後一個Bolt中將處理數據寫入文件/數據庫/或者發送到指定的地址上。markdown

理論上感受應該是可行的,可是沒有實踐。
併發

實際能夠經過DPRC訪問

進一步研究,發現有DRPC這個咚咚,只須要起一個DRPC Server ,而且把Topology建立爲DRPC Topology,提交。就能夠經過DRPCClient對該topology進行訪問了。十分方便。
app

Storm中專業的作法

再深刻一步,發現原來Storm中正確的作法應該是這樣的:spa

集成一個通信中間件,外部應用經過該中間件發送數據,Spout訂閱這些數據,併發射....,當Bolt處理完以後又可經過該通信中間件發送出去給應用。.net

具體可參考:https://github.com/nathanmarz/storm/wiki/Spout-implementations
orm

Spout implementations

相關文章
相關標籤/搜索