Kafka實例規格
Kafka實例兼容開(kai)源Kafka 1.1.0、2.3.0和2.7,實例規格(ge)以(yi)實例提(ti)供(gong)的ECS規格(ge)和代理個數分類,包括kafka.2u4g.cluster、kafka.4u8g.cluster、kafka.8u16g.cluster、kafka.12u24g.cluster和kafka.16u32g.cluster共5種類型。
說明
下表(biao)中TPS性(xing)能,是指以1K大小(xiao)的消息為例的每秒處理消息條(tiao)數。
表 Kafka實例規格
| 實例規格 | 代理個數范圍 | 單個代理TPS | 單個代理分區上限 | 單個代理Consumer Group上限 | 單個代理客戶端總連接數上限 | 存儲空間范圍 |
|---|---|---|---|---|---|---|
| kafka.2u4g.cluster | 3~30 | 30000 | 250 | 20 | 2000 | 300GB~300000GB |
| kafka.4u8g.cluster | 3~30 | 100000 | 500 | 100 | 4000 | 300GB~600000GB |
| kafka.8u16g.cluster | 3~30 | 150000 | 1000 | 150 | 4000 | 300GB~900000GB |
| kafka.12u24g.cluster | 3~30 | 200000 | 1500 | 200 | 4000 | 300GB~900000GB |
| kafka.16u32g.cluster | 3~30 | 250000 | 2000 | 200 | 4000 | 300GB~900000GB |
Kafka新老規格對應關系
2種(zhong)Kafka實例(li)規(gui)格的對應(ying)關(guan)系(xi)如下表所示(shi)。
表 Kafka新老規格(ge)對應關系
| 老規格 | 分區數上限(老規格) | TPS(老規格) | 對應的新規格 | 帶寬(新規格) | 分區數上限(新規格) | TPS(新規格) |
|---|---|---|---|---|---|---|
| 100MB/s(c3.large.2 * 3) | 300 | 10萬 | kafka.2u4g.cluster * 3 | 225MB/s | 750 | 10萬 |
| 300MB/s(c3.xlarge.2 * 5) | 900 | 30萬 | kafka.4u8g.cluster * 3 | 450MB/s | 1500 | 30萬 |
| 600MB/s(c3.2xlarge.2 * 5) | 1800 | 60萬 | kafka.8u16g.cluster * 4 | 700MB/s | 4000 | 60萬 |
| 1200MB/s(c3.2xlarge.2 * 10) | 1800 | 120萬 | kafka.8u16g.cluster * 8 | 1400MB/s | 8000 | 120萬 |
例如:客(ke)戶原(yuan)先有4個(ge)節點(dian)(規格為8U16G),3個(ge)副本,總分區數為10000-15000,每(mei)個(ge)節點(dian)的寫流(liu)(liu)量(liang)(liang)為720Mb,讀流(liu)(liu)量(liang)(liang)為7.2Gb,復制(zhi)流(liu)(liu)量(liang)(liang)為90MB*2,如果使(shi)用Kafka實例,預計需要(yao)什么樣(yang)的規格?費用多少?
總的寫流量:720Mb34=1080MB/s,總(zong)(zong)(zong)的(de)讀(du)(du)流(liu)(liu)量(liang):7.2Gb*4=3686MB/s,總(zong)(zong)(zong)的(de)復(fu)制流(liu)(liu)量(liang):90MB*2*4=720MB/s,總(zong)(zong)(zong)的(de)讀(du)(du)寫流(liu)(liu)量(liang):1080+3686+720=5486MB/s。考慮到流(liu)(liu)量(liang)預留的(de)影響,建議讀(du)(du)寫流(liu)(liu)量(liang)按照總(zong)(zong)(zong)流(liu)(liu)量(liang)的(de)80%估(gu)算(suan),即總(zong)(zong)(zong)流(liu)(liu)量(liang)需要(yao)5486/80%=6857.5MB。
Kafka實例單代理(li)(超高I/O磁盤)最大支持350MB的流(liu)量,需要(yao)的代理(li)個(ge)數(shu)(shu)=6857.5/350=20個(ge)。Kafka實例規(gui)格為kafka.8u16g.cluster*20。kafka.8u16g.cluster單代理(li)最大支持1000分區,客戶需要(yao)10000-15000的總分區數(shu)(shu),通過流(liu)量算出的kafka.8u16g.cluster*20規(gui)格滿足要(yao)求。
kafka.8u16g.cluster單代理最小存儲(chu)空(kong)間為(wei)800GB,總的存儲(chu)空(kong)間為(wei)800*20=16000GB。
使用(yong)Kafka實例的費(fei)用(yong):48600元(實例費(fei)用(yong))+16000元(存儲空間費(fei)用(yong))=64600元/月。
Kafka實例規格參考
- kafka.2u4g.cluster,三個代理
Kafka客戶(hu)端連接數(shu)在(zai)3000以內,消費(fei)組(zu)個數(shu)在(zai)60個以內,業務(wu)TPS為100000以內時推(tui)薦選用。
- kafka.4u8g.cluster,三個代理
Kafka客(ke)戶端連接數在10000以(yi)(yi)(yi)內,消費組個數在300個以(yi)(yi)(yi)內,業務(wu)TPS為300000以(yi)(yi)(yi)內時推薦選用。
- kafka.8u16g.cluster,三個代理
Kafka客戶端連接數(shu)在20000以內(nei),消費組個(ge)數(shu)在600個(ge)以內(nei),業務TPS為600000以內(nei)時(shi)推薦選(xuan)用(yong)。
- kafka.12u24g.cluster,三個代理
Kafka客戶端連接數在20000以內(nei),消費組個數在600個以內(nei),業務TPS為900000以內(nei)時推薦(jian)選用。
- kafka.16u32g.cluster,三個代理
Kafka客戶端連接(jie)數在(zai)20000以(yi)內,消費組(zu)個(ge)數在(zai)600個(ge)以(yi)內,業務TPS為1200000以(yi)內時推薦選用。
Kafka實例的存儲空間估算參考
Kafka實(shi)(shi)例支持多副(fu)本(ben)存(cun)(cun)儲(chu)(chu)(chu),存(cun)(cun)儲(chu)(chu)(chu)空間(jian)包含所有副(fu)本(ben)存(cun)(cun)儲(chu)(chu)(chu)空間(jian)總和,您(nin)在創(chuang)建(jian)Kafka實(shi)(shi)例,選(xuan)擇(ze)初始存(cun)(cun)儲(chu)(chu)(chu)空間(jian)時(shi),建(jian)議(yi)根據業務消息體(ti)積預估以(yi)及副(fu)本(ben)數量選(xuan)擇(ze)合適的存(cun)(cun)儲(chu)(chu)(chu)空間(jian)。
例如:業務消(xiao)息體積(ji)預(yu)估100GB,則(ze)磁盤(pan)容量最(zui)少應為100GB*副本數 + 預(yu)留磁盤(pan)大小100GB。
Kafka實(shi)例(li)支(zhi)持對(dui)存儲進(jin)行擴(kuo)容,根據業務增長,隨時擴(kuo)容,節約成本(ben)。
Kafka實例Topic數量計算
Kafka實(shi)例對Topic分區數之(zhi)和設(she)置(zhi)了上限,當達到(dao)上限之(zhi)后,用(yong)戶無法(fa)繼續創建Topic。
所以,Topic數(shu)量(liang)和實例(li)分(fen)區數(shu)上限(xian)、每個Topic的分(fen)區數(shu)有(you)關,其中,每個Topic分(fen)區數(shu)可在(zai)創建Topic時設置,如(ru)下圖,實例(li)分(fen)區數(shu)上限(xian)參考(kao)上表。
圖Topic的分區數(shu)


kafka.2u4g.cluster * 3 broker實例的分區數上限為750。
- 如果該實例下每個Topic的分區個數都為3,則Topic個數為750/3=250個。
- 如果該實例下每個Topic的分區個數都為1,則Topic個數為750/1=750個。