我正在嘗試一種方案,在該方案中,我有一個從Message Broker讀取數據並將消息作爲元組發送到螺栓進行某些處理的Spout。將元組發送到不同的螺栓
螺栓後處理將其轉換爲單獨的消息,並且每個子消息都必須發送到可託管在不同機器上的不同代理。
假設我有有限的收件人(在我的情況下有3個Message Brokers用於輸出)。
所以,Bolt1後處理可以直接刪除郵件給這3個消息代理現在
,如果我在這裏使用一個單一的博爾特這本身下降的消息,這三家券商和讓說,他們中的一個出現故障(由於不可用等),我稱之爲收集器的失敗方法。
一旦在螺栓上調用失敗方法,我的Spout失敗方法將被調用。
在這裏,我相信我將不得不再次處理整個消息(我必須確保每個消息都要被處理),即使3條消息中有2條被成功傳遞。
另外,即使我將這3個子消息發送到不同的螺栓,我認爲即使在這種情況下,Spout將不得不再次處理整個消息。
這是因爲我在噴嘴nextTuple()方法中第一次發出消息時追加了唯一Guid。
有沒有辦法確保只處理失敗的子消息而不是整個消息?
由於