手動提交偏移量
通常,當使用 AckMode.MANUAL
或 AckMode.MANUAL_IMMEDIATE
時,確認必須按順序進行,因為 Kafka 不會為每條記錄維護狀態,只為每個組/分割槽維護一個已提交的偏移量。從版本 2.8 開始,您現在可以設定容器屬性 asyncAcks
,這允許按任意順序確認 poll 返回的記錄的確認。監聽器容器將延遲無序提交,直到收到缺失的確認。消費者將被暫停(不會投遞新記錄),直到之前 poll 的所有偏移量都已提交。
雖然此功能允許應用程式非同步處理記錄,但應理解,這會增加故障後重復投遞的可能性。 |
當 asyncAcks 啟用時,提交偏移量 時不能使用 nack() (否定確認)。 |