kafka手動提交時異常消費的坑


在consumer端enable.auto.commit設置為false時

 

正常情況時通過調用ack.acknowledge();(spring-kafka,官方kafka不是這個接口)來進行offect的提交,但是如果發生異常的情況下,offect沒有觸發提交,這時kafka是不會重復發消息的,除非這時候系統重啟,或者consumer端重置

並且在這種情況下,如果后面的消息被正常消費了,那么異常這個消息的offect就直接被覆蓋過去了,這條記錄就丟失不會再被消費

以上表述文字通過代碼實測

 

具體詳細的見

 

https://www.cnblogs.com/xuwujing/p/8432984.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM