近段時間學習極客時間李玥老師的后端存儲實戰課時,看到一個很多意思的東西:用kafka存儲點擊流的數據,並重復處理。在以往的使用中,kafka只是一個消息傳輸的載體,消息被消費后就不能再次消費。新知識與印象相沖突,於是就有了本篇文章:kafka數據如何被重復消費。 前期理論了解 首先我先去官網 ...
重復消費的原因 消息重復消費的根本原因都在於:已經消費了數據,但是offset沒有成功提交。 其中很大一部分原因在於發生了再均衡。 消費者宕機 重啟等。導致消息已經消費但是沒有提交offset。 消費者使用自動提交offset,但當還沒有提交的時候,有新的消費者加入或者移除,發生了rebalance。再次消費的時候,消費者會根據提交的偏移量來,於是重復消費了數據。 消息處理耗時,或者消費者拉取的消 ...
2021-12-26 19:00 0 1973 推薦指數:
近段時間學習極客時間李玥老師的后端存儲實戰課時,看到一個很多意思的東西:用kafka存儲點擊流的數據,並重復處理。在以往的使用中,kafka只是一個消息傳輸的載體,消息被消費后就不能再次消費。新知識與印象相沖突,於是就有了本篇文章:kafka數據如何被重復消費。 前期理論了解 首先我先去官網 ...
一、重復消費的原因 消息重復消費的根本原因都在於:已經消費了數據,但是offset沒有成功提交。 其中很大一部分原因在於發生了再均衡。 1)消費者宕機、重啟等。導致消息已經消費但是沒有提交offset。 2)消費者使用自動提交offset,但當還沒有提交的時候,有新 ...
場景: kafka先批量拉取消息,完了將拉下來的消息逐條消費,假如此次共拉取40條消息,但在處理第31條時,線程被停掉,就會導致已消費消息offet不會被提交,接下來已經被消費的30條記錄還會被重復消費,這就是kafka重復消費的另一場景; 解決思路: 解決此類重復消費的方式:將能夠唯一標識 ...
在做分布式編譯的時候,每一個worker都有一個consumer,適用的kafka+zookeep的配置都是默認的配置,在消息比較少的情況下,每一個consumer都能均勻得到互不相同的消息,但是當消息比較多的時候,這個時候consumer就有重復消費的情況。 如何排查這種問題呢? 最 ...
先處理消費端的丟失數據和重復消費 這倆種情況都是 消息偏移offset的問題導致的,只是場景不同。 offset位移提交一般有倆種方式,自動位移提交和手動位移提交。用enable.auto.commit這個配置屬性去控制 丟失消息一般是自動提交的問題,所以切換成手動位移提交就可以 ...
今天我司線上kafka消息代理出現錯誤日志,異常rebalance,而且平均間隔2到3分鍾就會rebalance一次,分析日志發現比較嚴重。錯誤日志如下 08-09 11:01:11 131 pool-7-thread-3 ERROR [] - commit ...
https://www.cnblogs.com/756623607-zhang/p/10506909.html ...
原文鏈接:https://blog.csdn.net/z1941563559/java/article/details/88753938 問題描述:kafka的某些topic在消費完畢后一段時間,重啟唯一消費者,offset會重置為最小offset重新消費,一直導致kafka消費的重復消費問題 ...