主要對kafka 0.9之後的new consumer的引數進行解釋:
該引數是consumer group檢測成員發生崩潰的時間,比如設定為3分鐘,組中有乙個consumer崩潰了,則group中的協調器可能需要3分鐘才能感知到這個崩潰,重新進行分配分割槽。
表示為consumer處理訊息可能需要花費的時間,若超過設定值,那麼協調器(coordinator)會認為該consumer已經跟不上其他consumer的消費進度或者說已經崩潰,將該consumer踢出group,重新進行rebalance
表示了無位移資訊或者位移越界時kafka的應對策略。
主要有三個引數:
1、earliest:指定從最早位移開始消費,最早位移不一定為0,會從以儲存位移點開始消費
2、latest: 從最新處位移開始消費
3、none:未發現位移資訊或者位移越界,丟擲異常
表示是否consumer自動提交位移
表示consumer單詞獲取資料的最大位元組數
表示單詞poll最大訊息數,預設500
表示消費者再重新傳送請求或達到最大重試次數之前等待相應請求的最大時間
表示的consumer的心跳間隔時間,如何讓group中的consumer快速感知開始新一輪rebalance,,會將rebalance_in_progress異常的形式以consumer心跳請求的response當中
kafka會定期關閉socket,導致下次consumer處理請求時需要重新建立於broker之間的socket鏈結,預設為9分鐘,不在乎資源開銷,可以設定為-1。
詳細請見
kafka consumer深度剖析
producer通過主動push的方式將訊息發布到broker consumer通過pull從broker消費資料,pull的好處 每個partition有乙個leader 和若干個follower replica kafka資料的讀寫都是找leader來完成的,那leader 的負載怎麼解決呢?l...
kafka consumer防止資料丟失
kafka最初是被linkedin設計用來處理log的分布式訊息系統,因此它的著眼點不在資料的安全性 log偶爾丟幾條無所謂 換句話說kafka並不能完全保證資料不丟失。儘管kafka官網聲稱能夠保證at least once,但如果consumer程序數小於partition num 這個結論不一...
kafka consumer防止資料丟失
kafka最初是被linkedin設計用來處理log的分布式訊息系統,因此它的著眼點不在資料的安全性 log偶爾丟幾條無所謂 換句話說kafka並不能完全保證資料不丟失。儘管kafka官網聲稱能夠保證at least once,但如果consumer程序數小於partition num,這個結論不一...