我是Storm的新手,一直在探索其功能以符合我們的CEP要求。我偶然發現的不同例子通過消息代理,數據庫實現輪詢服務。如何實現基於推送的噴口,即在噴口內運行的Thrift服務器?我應該如何讓我的客戶知道我的噴嘴正在運行的位置,以便他們能夠推送數據?推式風暴水龍頭
Q
推式風暴水龍頭
2
A
回答
4
噴嘴的設計和打算投票,所以你不能推動他們。但是,許多人所做的就是使用像Redis,Thrift或Kafka這樣的服務作爲服務,您可以將消息推送給消費者,然後您的消費者就可以對消息進行輪詢。
1
控制你在哪裏和什麼時候噴口運行是有限的,所以有外部過程直接與噴口進行通信有點麻煩。這當然是可能的,但這不是最簡單的解決方案。
標準解決方案是將消息推送到某個外部消息隊列,讓您的噴口輪詢該消息隊列。
有一些做的正是這個常用消息隊列服務,如卡夫卡,紅隼和JMS,在storm-contrib
0
我沒有一大堆的經驗,無論是風暴或卡夫卡噴口實現/一般而言,紅隼或CEP,但我正在尋找類似的解決方案 - 推動風暴噴口。如何使用事件源和Storm羣集之間的負載平衡器?對於將rsyslog中的系統日誌消息推送到Storm的用例,負載均衡器可以跟蹤Storm節點正在運行的偵聽節點,哪些節點正在運行,並根據不同的參數分配傳入的負載。我不太願意在來源和噴口之間引入另一層,如消息總線。
編輯:我讀了你的博客並總結說,如果一個聆聽鯨魚嘴的唯一問題是一個消息來源如何找到它,那麼消息總線可能是錯誤的答案。基於簡單的網絡狀態或更高級別的應用程序邏輯,在接收器上引導網絡流量有更簡單/更好的解決方案。但是,是的,如果你想使用所有額外的消息總線功能,那麼顯然卡夫卡/凱斯特雷爾將是不錯的選擇。
0
這不是Storm的典型用法,顯然你不能將同一臺機器上的多個噴口實例綁定到同一個端口。在分佈式設置中,存儲API的當前IP地址和端口是個好主意,例如到ZooKeeper,然後平衡器將請求轉發到您的API。
下面是簡單的REST API項目上的風暴:
相關問題
- 1. Heroku水龍頭推奇怪
- 2. 減輕水龍頭?
- 3. Android區分水龍頭和雙擊水龍頭
- 4. 可視化水龍頭視圖,顯示水龍頭指示器
- 5. 龍捲風推發動機
- 6. ArXiv複製頭腦風暴
- 7. 框架頭腦風暴
- 8. view.removeFromSuperview()在很多水龍頭
- 9. iOS UITapGestureRecognizer多個水龍頭
- 10. 錯誤安裝水龍頭
- 11. 全景控制,水龍頭
- 12. UIScrollView檢測水龍頭
- 13. SpriteKit水龍頭縮放
- 14. FaceBook Connect。水龍頭登錄
- 15. UIGestureRecognizer水龍頭和刪除
- 16. 檢測用戶水龍頭
- 17. CalendarView:區分水龍頭
- 18. 模擬鍵盤水龍頭
- 19. Iphone:UIWebview和雙擊水龍頭
- 20. NFC水龍頭計數器
- 21. 級聯HBase水龍頭
- 22. 水龍頭寶石慢
- 23. 檢測背景水龍頭
- 24. MonoTouch.Dialog - 響應DetailDisclosureButton水龍頭
- 25. 禁用水龍頭縮放
- 26. iPhone計數手指水龍頭和水龍頭之間的時間
- 27. 是否有可能根據水龍頭的位置創建一個水龍頭?
- 28. 如何在使用水龍頭關閉UIKeyboard時忽略所有UIControl水龍頭
- 29. heroku數據庫:推不工作,使用水龍頭寶石
- 30. Heroku的DB:拉DB:推水龍頭加載錯誤sqlite3的
爲什麼不讓他們將數據推到一個隊列作爲@Gordon提到... N則u消耗和飼料,以烏爾嘴的消息.. 。像[風暴](https://github.com/nathanmarz/storm/wiki)等類似[Kakfka](http://kafka.apache.org/)的消息隊列可以讓你的生活更美好,我相信..你的要求究竟是什麼? – user2720864