背景
kafka是當下應用非常廣泛的分布式訊息系統,每秒可以生產約25萬訊息(50 mb),每秒處理55萬訊息(110 mb)。當consumer的效率跟不上時,容易出現rebalance,導致系統系統掛起。
思路
1、調整session.timeout.ms、max.poll.interval.ms等引數,使心跳保持更久
2、增加partition和consumer的數量,使吞吐量提高
3、增加快取,poll和consume分離
方案
不同場景,選擇合適方案。
方案1,適合能預知最大消費時間的場景,若實際中無法判定consume的最大處理時間,pass。
方案2,常規方案,可與另外兩個方案疊加使用。
方案3,適合各種場景。
Kafka 從Consumer消費能力低下談起
近期在生產環境發下日誌入庫延遲,導致很多準實時的監控圖表獲取不到資訊,這問題以前沒有出現過,可能跟最近業務量上公升有關,畢竟日均小兩億的平台了。梳理系統架構發現,日誌是快取在kafka中,由乙個後台程序task從kafka中消費,存放到資料庫中的,日誌入庫延遲,跟task關係很大。由於之前對kafk...
kafka 主動消費 Kafka消費者的使用和原理
publicstaticvoidmain string args finally 前兩步和生產者類似,配置引數然後根據引數建立例項,區別在於消費者使用的是反序列化器,以及多了乙個必填引數 group.id,用於指定消費者所屬的消費組。關於消費組的概念在 kafka中的基本概念 中介紹過了,消費組使得...
Kafka的消費語義
at most once 最多消費一次 訊息0 1 訊息可能丟失 但是不會重複消費 log 解釋 消費者的offset已經提交,但是訊息還在處理,這個時候掛了,再重啟的時候會從上次提交的offset處消費,導致上次在處理的訊息部分丟失。at least once 至少消費1次 訊息 1 消費不可能丟...