它在風暴記錄中提到,風暴重放元組哪些處理已超時。我的問題是風暴是否會自動執行此操作(而不是在原始噴口調用fail()),或者這是原始噴口重播元組的責任(fail()被調用並且應該在內部甚至外部實現重放)?處理超時的風暴重放元組嗎?
5
A
回答
6
爲了在超時時重新進行正確的重放,當您從噴口發出時,您必須使用id來固定元組。當超時發生時,無論您用作錨點,都會返回到失敗方法(fail(object anchorId))。現在,您可以使用失敗/超時元組的anchorId進行重播,或使用超時元組執行任何其他操作。每個錨點ID必須是唯一的。錨點ID的示例是數據庫ID。當元組失敗時,可以使用數據庫ID來重新創建元組並重新發射它。因此,要回答您的問題,您必須在失敗中使用重播邏輯,並且可以使用anchorId重新創建元組。希望這個信息有幫助
4
從http://storm.apache.org/documentation/Guaranteeing-message-processing.html,
如果元組超時的風暴將呼籲
Spout
所以,是的,fail
將被稱爲fail
方法。
相關問題
- 1. 風暴拓撲如何處理元組?
- 2. 風暴處理時間
- 3. 如何獲得風暴流失敗處理的元組
- 4. apache風暴可靠性超時配置
- 5. 風暴增量處理和濃縮
- 6. 風暴處理數據極其緩慢
- 7. 風暴如何知道郵件何時「完全處理」?
- 8. 風暴三叉戟批次是否同時處理?
- 9. 風暴實時處理:如果發生故障,該怎麼辦?
- 10. 風暴不受控制的元組多元化
- 11. 風暴字段分組
- 12. 風暴如何在兩個並行螺栓中處理元組時出現故障
- 13. Apache風暴中的單元測試 - 使用BaseRichBolt超時但不使用BaseBasicBolt
- 14. 風暴愛好者的混淆和保證的消息處理
- 15. 關於風暴流處理噴口中nextTuple方法的問題
- 16. WCF超時處理
- 17. getJSON超時處理
- 18. SpringSecurity處理超時
- 19. 處理AJAX超時
- 20. Python:MySQL:處理超時
- 21. 風暴:何時使用setNumTasks?
- 22. Python的超時處理
- 23. 處理超時的FutureTask
- 24. 處理urllib2的超時? - Python
- 25. 處理重複數組元素
- 26. 創建一個Apache風暴口發出的元組每X秒
- 27. 風暴中的多個字段分組
- 28. 風暴螺栓,以驗證是否所有元組與給定的字段得到處理
- 29. 如何使用Apache風暴作爲複雜事件處理器
- 30. 風暴BaseBasicBolt在哪裏處理ack()函數?
有什麼辦法可以知道,Spout的fail()方法中哪個螺栓失敗了?基本上,我想在ack()或fail()時發送元組中特定於螺栓的信息。如何做到這一點? – 2016-09-15 05:53:30