我有一個應用程序預加載100萬字符串的主題有4個分區,所以250K電子郵件。爲什麼我所有的卡夫卡提交都沒有實際提交? (0.9.0.1)
然後,應用程序會調用2名讀者手動分配的分區:
Reader 1 -> Partition 0 & 1
Reader 2 -> Partition 2 & 3
我通過嗡嗡聲和從分區讀取並執行每個ConsumerRecord一個consumer.commitAsync我讀取(沒有提交的配料在這一點,故意,直到我明白行爲)。
我在提交異步回調內部放置了一個per-topic計數器來測量它被調用的次數,總計達到100萬。該應用程序穩定下來,並停止
後,我用的是卡夫卡CLI工具來看看我的補償,我得到這樣的:
Group Topic Pid Offset logSize Lag Owner
group1 lowercaseStrings 0 233788 250000 16212 none
group1 lowercaseStrings 1 249999 250000 1 none
group1 lowercaseStrings 2 249999 250000 1 none
group1 lowercaseStrings 3 233788 250000 16212 none
注意的1兩的這些滯後是巧合 - 我有時得到不同的數字。
我注意到任何傳入的異常的異步提交回調函數,並且沒有。根據我的代碼,我已經按預期調用了100萬次commitAsync。
爲什麼我仍然有這種滯後?什麼可能導致這個?