實時處理系統(類似s4, storm)對比直接用MQ來做好處在哪裡?
12-25
例如:我有一個處理系統,它有10步,如果用MQ來做,就是每一步只監聽特定的消息,然後處理,處理完後將消息發給MQ,這樣下一步就能接到消息了;如果用實時處理系統,似乎區別不大(也是這麼做),那麼,用實時處理系統好處在哪裡?
好處是它幫你做了: 1) 集群控制。2) 任務分配。3) 任務分發 4) 監控 等等。
這個問題也困擾我很長時間。現在的理解:
1.首先一定要清楚:mq是消息中間件、storm是實時計算系統,它們處於整個系統結構的不同位置
2.mq常用於2點:A -&> B 系統間解耦;一人生產多人消費
3.strom則完全可以是你的B系統;或者B系統是你自己寫的代碼。至於B系統為什麼要用storm,請參考 @徐明明 答覆
竊以為:
MQ,kafka ==&> Event source management
storm,S4==&> Router message 和中間消息,並以框架的形式提供業務處理單元編程介面。
好處樓上說了,說說壞處吧,首先你要學會如何用s4或者storm,沒搞懂之前,你肯定不敢用這個成本可不低,其次,為了效率你還要搞懂她如何做的,知其然還要知其所然,沒辦法攻城師的控制欲,再次,鬆散型的精度控制,效率上肯定有所降低。
除去學習的成本,用s4或者storm比你自己寫代碼可能簡單一些。
推薦閱讀:
TAG:架構 | ApacheStorm | ApacheS4 |