您好,登錄后才能下訂單哦!
本篇內容主要講解“kafka調優核心點有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“kafka調優核心點有哪些”吧!
Kafka官方自帶壓力測試腳本(
kafka-consumer-perf-test.sh、kafka-producer-perf-test.sh)。Kafka壓測時,可以查看到哪個地方出現了瓶頸(CPU,內存,網絡IO)。一般都是網絡IO達到瓶頸。
Kafka機器數量=2*(峰值生產速度*副本數/100)+1
7天
每天的數據量*7天
公司自己開發的監控器;
開源的監控器:KafkaManager、KafkaMonitor
分區數并不是越多越好,一般分區數不要超過集群機器數量。分區數越多占用內存越大(ISR等),一個節點集中的分區也就越多,當它宕機的時候,對系統的影響也就越大。
分區數一般設置為:3-10個
一般我們設置成2個或3個,很多企業設置為2個。
通常情況:多少個日志類型就多少個Topic。也有對日志類型進行合并的。
Ack=0,相當于異步發送,消息發送完畢即offset增加,繼續生產。
Ack=1,leader收到leader replica 對一個消息的接受ack才增加offset,然后繼續生產。
Ack=-1,leader收到所有replica 對一個消息的接受ack才增加offset,然后繼續生產。
ISR(In-Sync Replicas),副本同步隊列。ISR中包括Leader和Follower。如果Leader進程掛掉,會在ISR隊列中選擇一個服務作為新的Leader。有replica.lag.max.messages(延遲條數)和replica.lag.time.max.ms(延遲時間)兩個參數決定一臺服務是否可以加入ISR副本隊列,在0.10版本移除了replica.lag.max.messages參數,防止服務頻繁的進去隊列。
任意一個維度超過閾值都會把Follower剔除出ISR,存入OSR(Outof-Sync Replicas)列表,新加入的Follower也會先存放在OSR中。
在 Kafka內部存在兩種默認的分區分配策略:Range和 RoundRobin。
Range是默認策略。Range是對每個Topic而言的(即一個Topic一個Topic分),首先對同一個Topic里面的分區按照序號進行排序,并對消費者按照字母順序進行排序。然后用Partitions分區的個數除以消費者線程的總數來決定每個消費者線程消費幾個分區。如果除不盡,那么前面幾個消費者線程將會多消費一個分區。
例如:我們有10個分區,兩個消費者(C1,C2),3個消費者線程,10 / 3 = 3而且除不盡。
C1-0 將消費 0, 1, 2, 3 分區
C2-0 將消費 4, 5, 6 分區
C2-1 將消費 7, 8, 9 分區
RoundRobin:前提:同一個Consumer Group里面的所有消費者的num.streams(消費者消費線程數)必須相等;每個消費者訂閱的主題必須相同。
到此,相信大家對“kafka調優核心點有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。