知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
Kafka萬(wàn)億級(jí)消息實(shí)戰(zhàn)干貨
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):53
當(dāng)前哨上集群范圍已經(jīng)跨越了600+broker,入流量超3萬(wàn)億記錄/天,出流量超7萬(wàn)億記錄/天
。在巨大年夜的流量拭魅戰(zhàn)中,我們碰到了很多麻煩,這里抽了點(diǎn)時(shí)光梳理了一下。重要大年夜應(yīng)用層面
、底層道理層面
、開(kāi)源版本功能缺點(diǎn)
三個(gè)方面進(jìn)行了核心常識(shí)點(diǎn)的梳理。今朝本文只是對(duì)核心常識(shí)點(diǎn)進(jìn)行概括,并不會(huì)具體描述每個(gè)常識(shí)點(diǎn)的細(xì)節(jié),后續(xù)我將抽出時(shí)光來(lái)持續(xù)整頓完美細(xì)節(jié),欲望可認(rèn)為大年夜家供給一些贊助。
一、Kafka應(yīng)用層面
1.版本進(jìn)級(jí)
1.1.若何進(jìn)行版本滾動(dòng)進(jìn)級(jí)與回退;
2.數(shù)據(jù)/副本遷徙
2.1.broker間數(shù)據(jù)遷徙;
2.2.broker內(nèi)部磁盤(pán)間數(shù)據(jù)遷徙;
3.流量限制
3.1.臨盆者流量限制;
3.2.花費(fèi)者流量限制;
3.3.follower副本同步leader副本流量限制;
4.運(yùn)維監(jiān)控告警;
4.1.硬件基本監(jiān)控
4.1.1.收集
收集入流量、收集出流量、收集丟包、收集重傳、交換機(jī)。
4.1.2.磁盤(pán)
磁盤(pán)write、磁盤(pán)read、磁盤(pán)ioutil、磁盤(pán)iowait、磁盤(pán)存儲(chǔ)空間、磁盤(pán)壞盤(pán)、磁盤(pán)壞塊/壞道。
4.1.3.CPU
CPU余暇率/負(fù)載
4.1.4.內(nèi)存
內(nèi)存應(yīng)用率
4.1.5.緩存射中率
Linux的PageCache緩存射中率,具體內(nèi)容請(qǐng)瀏覽下面這篇文┞仿:https://blog.csdn.net/yangyijun1990/article/details/105341785
4.2.Kafka辦事監(jiān)控
4.2.1.broker級(jí)別:
broker過(guò)程、broker出/入流量、broker連接數(shù)、broker收集余暇率、broker臨盆延時(shí)、broker花費(fèi)延時(shí)、broker臨盆請(qǐng)求數(shù)、broker花費(fèi)請(qǐng)求數(shù)、broker上分布leader個(gè)數(shù)、broker上分布副本個(gè)數(shù)、broker請(qǐng)求隊(duì)列
4.2.2.topic級(jí)別:
topic副本缺掉、topic出/入流量、topic花費(fèi)者花費(fèi)延遲記錄、topic分區(qū)leader切換
4.2.3.用戶(hù)級(jí)別
用戶(hù)出/入流量、用戶(hù)出/入流量被限制時(shí)光;
4.2.4.辦事日記
對(duì)server端打印的缺點(diǎn)日記進(jìn)行監(jiān)控告警;
4.3.客戶(hù)端應(yīng)用監(jiān)控
4.3.1.臨盆者客戶(hù)端
- 維度:客戶(hù)端ID、客戶(hù)端IP、topic名稱(chēng)、集群名稱(chēng)、brokerIP;
- 指標(biāo):連接數(shù)、io等待時(shí)光、臨盆流量大年夜小、臨盆記錄數(shù)、請(qǐng)求次數(shù)、請(qǐng)求延時(shí)、發(fā)送缺點(diǎn)/重試次數(shù)等;
4.3.2.花費(fèi)者客戶(hù)端
- 維度:客戶(hù)端ID、客戶(hù)端IP、topic名稱(chēng)、集群名稱(chēng)、花費(fèi)組、brokerIP、topic分區(qū)
- 指標(biāo):連接數(shù)、io等待時(shí)光、花費(fèi)流量大年夜小、花費(fèi)記錄數(shù)、花費(fèi)延時(shí)、topic分區(qū)花費(fèi)延遲記錄等
4.4.zookeeper監(jiān)控
4.4.1.zookeeper的過(guò)程監(jiān)控;
4.4.2.zookeeper的leader切換;
4.4.3.zookeeper辦事的缺點(diǎn)日記監(jiān)控;
5.資本隔離
5.1.營(yíng)業(yè)資本物理隔離(分資本組,不合伙源組之間物理隔離),不合營(yíng)業(yè)互不影響;
6.集群歸類(lèi)
我們根據(jù)營(yíng)業(yè)和用處的不合,對(duì)集群進(jìn)行了歸類(lèi)。重要分為以下幾類(lèi):
- 日記集群;
- 監(jiān)控集群;
- 計(jì)費(fèi)集群;
- 貿(mào)易化集群;
- 非貿(mào)易化集群;
7.擴(kuò)容/縮容
7.1.topic擴(kuò)容分區(qū);
7.2.集群節(jié)點(diǎn)擴(kuò)容broker(新broker上線);
7.3.集群縮容(節(jié)點(diǎn)下線);
8.負(fù)載均衡
8.1.開(kāi)辟主動(dòng)負(fù)載均衡法度榜樣采集metrics指標(biāo),生成副本遷徙籌劃,并履行遷徙;
8.2.broker間負(fù)載均衡、broker內(nèi)部多塊磁盤(pán)間負(fù)載均衡;
9.安然認(rèn)證
9.1.臨盆者權(quán)限認(rèn)證;
9.2.花費(fèi)者權(quán)限認(rèn)證;
9.3.指定遷徙數(shù)據(jù)目次安然認(rèn)證;
10.集群容災(zāi)
10.1.跨機(jī)架容災(zāi);
10.2.跨集群容災(zāi);
10.3.跨機(jī)房容災(zāi);
11.參數(shù)/設(shè)備優(yōu)化
11.1.辦事參數(shù)優(yōu)化;
11.2.臨盆參數(shù)優(yōu)化;
11.3.花費(fèi)參數(shù)優(yōu)化;
11.4.辦事器內(nèi)核參數(shù)優(yōu)化;
12.硬件層面優(yōu)化
12.1.采取SSD固態(tài)硬盤(pán)代替HDD(機(jī)械盤(pán));
12.2.采取更大年夜內(nèi)存辦事器,比如256GB及以上;
12.3.設(shè)備更高的收集帶寬,比如 10Gb/s及以上;
13.營(yíng)業(yè)大年夜屏
集群個(gè)數(shù)、節(jié)點(diǎn)個(gè)數(shù)、存儲(chǔ)大年夜小、用戶(hù)個(gè)數(shù)、topic個(gè)數(shù)、分區(qū)個(gè)數(shù)、副本個(gè)數(shù)、花費(fèi)組個(gè)數(shù)、臨盆延時(shí)、花費(fèi)延時(shí)、臨盆流量、花費(fèi)流量、數(shù)據(jù)靠得住性/完全性;
14.集群治理
14.1.集群設(shè)備治理;
14.2.集群滾動(dòng)重啟;
15.集群治理
15.1.無(wú)臨盆/花費(fèi)的topic大年夜集群中清理掉落;
15.2.花費(fèi)延遲較高的topic分區(qū)監(jiān)控告警,并讓響應(yīng)的花費(fèi)方檢查延遲較大年夜原因及解決辦法;
16.mock功能
16.1.臨盆mock;
16.2.花費(fèi)mock;
17.集群IP、域名映射
17.1.上線broker添加域名到broker的映射;
17.2.下線broker剔除域名與broker的映射;
18.機(jī)能測(cè)試評(píng)估
18.1.根據(jù)機(jī)能測(cè)試結(jié)不雅評(píng)估broker節(jié)點(diǎn)個(gè)數(shù)及分區(qū)個(gè)數(shù);
19.kafka常見(jiàn)痛點(diǎn)
請(qǐng)瀏覽文┞仿:https://blog.csdn.net/yangyijun1990/article/details/106698084
二、Kafka底層道理層面
1.臨盆者實(shí)現(xiàn)細(xì)節(jié)
1.1.若何獲取元數(shù)據(jù);
1.2.添加分區(qū)后若何感知;
1.3.分區(qū)leader切換后若何感知;
1.4.數(shù)據(jù)若何存儲(chǔ);
1.5.如不雅acks被設(shè)置為-1,則若何進(jìn)行回調(diào)斷定所有follower都已經(jīng)收到數(shù)據(jù);
2.花費(fèi)者實(shí)現(xiàn)細(xì)節(jié)
1.1.若何獲取元數(shù)據(jù);
1.2.添加分區(qū)后若何感知;
1.3.分區(qū)leader切換后若何感知;
1.4.添加新的花費(fèi)者實(shí)例若何均衡;
1.5.若何檢索消息;
3.副本遷徙實(shí)現(xiàn)細(xì)節(jié)
3.1.不帶指定命據(jù)目次的遷徙(broker間數(shù)據(jù)遷徙);
3.2.帶指定命據(jù)目次的遷徙(broker間數(shù)據(jù)遷徙及broker內(nèi)部數(shù)據(jù)目次遷徙);
4.topic的增、刪、改、查實(shí)現(xiàn)細(xì)節(jié)
5.Controller的選舉細(xì)節(jié)
6.topic分區(qū)Leader選舉實(shí)現(xiàn)細(xì)節(jié)
7.Metrics指標(biāo)實(shí)現(xiàn)細(xì)節(jié)
8.Quota流量限制實(shí)現(xiàn)細(xì)節(jié)
9.時(shí)光輪實(shí)現(xiàn)細(xì)節(jié)
10.安然認(rèn)證實(shí)現(xiàn)細(xì)節(jié)
11.事務(wù)實(shí)現(xiàn)細(xì)節(jié)
12.topic分區(qū)數(shù)據(jù)過(guò)時(shí)處理實(shí)現(xiàn)細(xì)節(jié)
13.動(dòng)態(tài)設(shè)備實(shí)現(xiàn)細(xì)節(jié)
13.1.broker、topic、user設(shè)備動(dòng)態(tài)治理;
14.topic分區(qū)isr列表變更若何處理
14.1.isr列表緊縮;
14.2.isr列表擴(kuò)大;
15.日記數(shù)據(jù)存儲(chǔ)細(xì)節(jié)
15.1.日記目次構(gòu)造;
15.2.日記內(nèi)容格局;
三、kafka開(kāi)源版本功能缺點(diǎn)
1.副本遷徙
1.1.當(dāng)須要終止遷徙義務(wù)時(shí),無(wú)法終止遷徙義務(wù);【當(dāng)前我們已經(jīng)完成源碼改革,實(shí)現(xiàn)了終止遷徙新特點(diǎn)】
1.2.只能串行遷徙,不克不及同時(shí)提交多個(gè)遷徙義務(wù);【當(dāng)前我們已經(jīng)完成源碼改革,實(shí)現(xiàn)了并發(fā)副本遷徙】
1.3.當(dāng)topic分區(qū)數(shù)據(jù)量巨大年夜時(shí),數(shù)據(jù)遷徙變得漫長(zhǎng)且對(duì)broker對(duì)io產(chǎn)生巨大年夜壓力,影響到來(lái)集群穩(wěn)定性;【當(dāng)前我們已經(jīng)完成源碼改革,實(shí)現(xiàn)了增量副本遷徙】
相關(guān)案例查看更多
相關(guān)閱讀
- 微信分銷(xiāo)系統(tǒng)
- 前端技術(shù)
- 網(wǎng)站建設(shè)服務(wù)
- 百度人工排名
- 楚雄小程序開(kāi)發(fā)
- 網(wǎng)站排名
- 定制小程序開(kāi)發(fā)
- 小程序被攻擊
- 百度推廣
- 昆明小程序公司
- 小程序開(kāi)發(fā)費(fèi)用
- 云南網(wǎng)站建設(shè)服務(wù)
- .net網(wǎng)站
- 云南科技公司
- php網(wǎng)站
- 旅游網(wǎng)站建設(shè)
- 報(bào)廢車(chē)回收
- 昆明網(wǎng)站制作
- 小程序公司
- 云南etc微信小程序
- 云南花農(nóng)小程序
- web學(xué)習(xí)路線
- 網(wǎng)站上首頁(yè)
- 文山小程序開(kāi)發(fā)
- 開(kāi)通微信小程序被騙
- 小程序制作
- 大理網(wǎng)站建設(shè)公司
- 報(bào)廢車(chē)回收管理系統(tǒng)
- 云南小程序開(kāi)發(fā)公司哪家好
- 云南建設(shè)廳網(wǎng)站首頁(yè)