【難點】kafka消費者自動斷開

消費者用了一段時間之後會自動斷開,不報錯,生產者不受影響

查看消費者是否還存在

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe  --group test

發現消費者已經不消費

原因:

原來是在 kafka consumer 運行時,要和kafka集羣的協調節點做心跳交流,這也是kafka集羣給consumer做負載均衡的條件。但是但是consumer內部也會有一個計時器,記錄上一次向 kafka 集羣 poll 的時間,另外心跳線程會檢測該現在距上一次poll的時間,如果該時間差超過了設定時間(kafka consumer默認的是 5分鐘),就會想kafka集羣發出leaveGroup,這時kafka集羣會註銷掉該consumer 的信息
————————————————
版權聲明:本文爲CSDN博主「木號」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/goodluck_mh/article/details/79840331

 

解決方法:

kafka consumer 在消費消息時,不要使用阻塞方法,比如blockqueue、網絡發送設置超時時間

 

 

參考文檔

https://blog.csdn.net/goodluck_mh/article/details/79840331

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章