kafka 輪詢消費的時候容易出錯的地方

2021-09-12 15:28:16 字數 600 閱讀 3804

1:正常情況下來說,kafka輪詢消費的意思就是客戶端從kafka中獲取資料是通過分批獲取的方式,每隔一段時間獲取一批資料。

2:但是能否正常在間隔時間內去拉取資料,要看你的業務處理邏輯是否在這個間隔時間內完成,如果在間隔時間內,處理邏輯還沒有結束的話,kafka  poll就不會去獲取資料,這樣的話kafka集群就會認為你這個消費者已經死亡了,就會觸發reblance,從而導致客戶端無法正常消費。而控制兩次pool之間的輪詢間隔的引數就是。max.poll.interval.ms 預設是300s

1:首先判斷你每一次poll獲取的資料全部處理完要多久時間,然後更改max.poll.interval.ms,或者嘗試優化處理邏輯**以縮減處理時間,最終的目標就是讓處理邏輯在max.poll.interval.ms之間執行完畢,不耽誤下一次輪詢資料即可。

2:pool獲取的資料可以指定多少條,試著減少這個數量即可。預設情況下一次poo獲取的資料量是,max.poll.records=500,你可以自己修改這個引數,以平衡處理資料時間,和過期死亡時間,其實這兩種辦法的思想都是一樣的。

kafka 主動消費 Kafka消費者的使用和原理

publicstaticvoidmain string args finally 前兩步和生產者類似,配置引數然後根據引數建立例項,區別在於消費者使用的是反序列化器,以及多了乙個必填引數 group.id,用於指定消費者所屬的消費組。關於消費組的概念在 kafka中的基本概念 中介紹過了,消費組使得...

Kafka的消費語義

at most once 最多消費一次 訊息0 1 訊息可能丟失 但是不會重複消費 log 解釋 消費者的offset已經提交,但是訊息還在處理,這個時候掛了,再重啟的時候會從上次提交的offset處消費,導致上次在處理的訊息部分丟失。at least once 至少消費1次 訊息 1 消費不可能丟...

kafka的重複消費問題

1.消費端消費能力比較低,處理訊息速度慢 2.根據kafka消費特性,消費者在每個partion上的位置都是乙個整數,即消費下一條訊息的偏移量。這個狀態可以定期檢查點,使得訊息的確認變得非常的方便,消費者可以倒退回舊的偏移量,重新消費。3.訊息處理完之後提交下乙個消費的offset,而在sessio...