消費位點提交
更新時間 2023-05-13 17:26:43
最近更新時間: 2023-05-13 17:26:43
分享文章
Kafka 消費者有兩個相關參數:
- enable.auto.commit:默認值為 true。
- auto.commit.interval.ms: 默認值為 1000,也即 1s。
這兩個參數組合的結果就是,每次 poll 數據前會先檢查上次提交位點的時間,如果距離當前時間已經超過參數auto.commit.interval.ms規定的時長,則客戶端會啟動位點提交動作。
因此,如果將enable.auto.commit設置為 true,則需要在每次 poll 數據時,確保前一次 poll 出來的數據已經消費完畢,否則可能導致位點跳躍。
如果想自己控制位點提交,請把 enable.auto.commit 設為 false,并調用 commit(offsets)函數自行控制位點提交。