轉載請註明出處: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
理論上感受應該是可行的,可是沒有實踐。
併發
進一步研究,發現有DRPC這個咚咚,只須要起一個DRPC Server ,而且把Topology建立爲DRPC Topology,提交。就能夠經過DRPCClient對該topology進行訪問了。十分方便。
app
再深刻一步,發現原來Storm中正確的作法應該是這樣的:spa
集成一個通信中間件,外部應用經過該中間件發送數據,Spout訂閱這些數據,併發射....,當Bolt處理完以後又可經過該通信中間件發送出去給應用。.net
具體可參考:https://github.com/nathanmarz/storm/wiki/Spout-implementations
orm
Spout implementations