2009-07-28 79 views
3

最近我看到presentation關於RabbitMQ提到使用稱爲「冪等障礙」的消息重複數據刪除。這只是消息融合器的一個奇特名稱,還是更具體的東西?如果是這樣,究竟是什麼?谷歌搜索產生的結果大部分與RabbitMQ有關,很少解釋它是什麼。消息傳遞的冪等障礙

回答

9

Idempotency是函數的行爲,其中對函數的輸出函數執行n次,結果與函數執行一次的狀態相同。這在消息傳遞環境中很有用,因爲延遲的消息不會導致意外的行爲。雖然合併意味着消息將集中以防止重複,但冪等性意味着消息傳遞框架將允許多重傳輸和執行重複消息,同時保持消息的多個副本的執行與執行一個消息具有相同的結果。

+0

如果我理解正確,最後一句話似乎暗示冪等性實際上是消息消費者的功能,而不是框架。如果是這種情況,這個框架意味着什麼意味着什麼?如果框架允許重複執行,則客戶端應該檢測重複項並忽略它們或不受影響。 – omerkudat 2009-07-28 14:29:22