問題
kafka啟動後開始消費的話, 如果此時消費流程中有其他依賴沒有啟動完成的話,比如 redis , mysql ,rpc等就會有空指標或其他問題。這時候就要延後kafka的消費時機。
解決kafka啟動時,不在啟動時開啟消費執行緒。
public class kafkaconsumer
//開始消費單獨拿出方法
public void startconsumer(final handler handler)
}});
}
然後在springboot啟動後,再啟用kafka的消費執行緒
@component
@override
//校驗redis
//校驗mysql
//校驗rpc
kafkaconsumer.start()
}}
此時啟用kafkaconsumer,就不會有問題了。
公升級版可以設定標誌位,來靈活做到啟/停/暫停/恢復
public class kafkaconsumer
//開始消費單獨拿出方法
public void startconsumer()
}});
}//暫停消費執行緒
public void pause()
//恢復消費執行緒
public void resume()
//關閉消費
public void shutdown()
**做了些簡略處理。明白思路就好做,然後就可以針對業務場景細化一下了。
kafka重複消費問題
問題描述 採用kafka讀取訊息進行處理時,consumer會重複讀取afka佇列中的資料。問題原因 kafka的consumer消費資料時首先會從broker裡讀取一批訊息資料進行處理,處理完成後再提交offset。而我們專案中的consumer消費能力比較低,導致取出的一批資料在session....
第4消費時代
時代劃分 第一消費社會 1912 1941 第二消費社會 1945 1974 第三消費社會 1975 2004 第四消費社會 2005 2034 社會背景 中等階級誕生 大量生產 大量消費 泡沫經濟 金融破產 經濟不景氣 不穩定等導 致收入減少,人口減少導 致消費市場 縮小人口趨勢 人口增加 人口增...
解決Kafka重複消費問題
某服務 用了springboot spring kafka 處理kafka訊息時,發現每條訊息處理時間長達60 秒。幾百條訊息處理完後,又重新從第一條開始重複消費。kafka消費者有兩個配置引數 max.poll.interval.ms 兩次poll操作允許的最大時間間隔。單位毫秒。預設值30000...