退避延遲精度

概覽和保證

所有訊息處理和退避都由消費者執行緒處理,因此,延遲精度是在盡力而為的基礎上保證的。如果某個訊息的處理時間長於同一消費者下一個訊息的退避週期,那麼下一個訊息的延遲將高於預期。此外,對於短延遲(大約 1 秒或更短),執行緒必須執行的維護工作,例如提交偏移量,可能會延遲訊息處理的執行。如果重試主題的消費者正在處理多個分割槽,精度也可能受到影響,因為我們依賴於從輪詢中喚醒消費者並具有完整的 pollTimeout 來進行時間調整。

儘管如此,對於處理單個分割槽的消費者,在大多數情況下,訊息的處理應該大約在其精確到期時間發生。

保證訊息永遠不會在其到期時間之前被處理。