手動提交偏移量
通常,當使用 AckMode.MANUAL
或 AckMode.MANUAL_IMMEDIATE
時,必須依序確認應答,因為 Kafka 不會為每個記錄維護狀態,僅為每個群組/分區維護已提交的偏移量。從 2.8 版開始,您現在可以設定容器屬性 asyncAcks
,允許以任何順序確認輪詢返回的記錄的應答。監聽器容器將延遲亂序提交,直到收到遺失的應答。消費者將被暫停(不傳遞新記錄),直到先前輪詢的所有偏移量都已提交。
雖然此功能允許應用程式非同步處理記錄,但應理解這會增加失敗後重複交付的可能性。 |
當 asyncAcks 啟用時,在 提交偏移量 時,無法使用 nack() (負面應答)。 |