Q3# ZK集群內(nèi)存過(guò)高風(fēng)險(xiǎn)評(píng)估
引言
該方案在國(guó)慶期間未被執(zhí)行,在節(jié)后集群順利完成升級(jí),記錄下來(lái)留個(gè)紀(jì)念。
在集群升級(jí)發(fā)生了Leader選舉和切換,當(dāng)前時(shí)期集群處于不穩(wěn)定,客戶端連接的節(jié)點(diǎn)有傾斜。有兩個(gè)節(jié)點(diǎn)x.x.x.88和x.x.x.15內(nèi)存使?率過(guò)?,需要評(píng)估其能否扛得住。由于未全部完成升級(jí),除了節(jié)點(diǎn)x.x.x.122和節(jié)點(diǎn)x.x.x16高配機(jī)(32C64G)外,其他均為低配機(jī)(4C8G)。

集群架構(gòu)
注冊(cè)中心由9臺(tái)ZK節(jié)點(diǎn)構(gòu)成,為了分擔(dān)直接連接Leader節(jié)點(diǎn)的連接壓力,通過(guò)域名分成三組,寫操作由其內(nèi)部轉(zhuǎn)發(fā)到Leader操作。

服務(wù)注冊(cè)域名組
x.x.x.15內(nèi)存使?率為73%

x.x.x.89內(nèi)存使?率41%

x.x.x.45使?率27%

結(jié)論:該組均為低配節(jié)點(diǎn),如果節(jié)點(diǎn)不能提供服務(wù)(FULL GC、掛掉、假死等)重連到其他節(jié)點(diǎn),該組在極限值如果?部分連接到x.x.x.89可能導(dǎo)致該節(jié)點(diǎn)不可?,再全部重連到x.x.x.45,導(dǎo)致整個(gè)soazk配置的域名不可?。
該組是存在風(fēng)險(xiǎn)最大的一組:
經(jīng)過(guò)兩天觀察運(yùn)行平穩(wěn),緩存x.x.x.15節(jié)點(diǎn)尚有25%空間,不可用概率較低 當(dāng)x.x.x.15節(jié)點(diǎn)不可用,全部沖跨剩余節(jié)點(diǎn)的概率也較低 該組域名為負(fù)責(zé)注冊(cè),按照當(dāng)前故障演練測(cè)試情況來(lái)看,即使全部掛掉服務(wù)能正常調(diào)用
服務(wù)發(fā)現(xiàn)域名組
節(jié)點(diǎn)x.x.x.16內(nèi)存使用率78%

節(jié)點(diǎn)x.x.x.46內(nèi)存使用率27.4%

節(jié)點(diǎn)x.x.x.16內(nèi)存使用率12%

結(jié)論:節(jié)點(diǎn)x.x.x.88內(nèi)存使?率78%,x.x.x.46使?率為27.5%,其中x.x.x.16為?配機(jī)(32C64G)使?率為12%,?旦x.x.x.88節(jié)點(diǎn)不能提供服務(wù)(FULL GC、掛掉、假死等)剩余兩個(gè)節(jié)點(diǎn)能夠扛得住客戶端的重新連接。
配置域名組
節(jié)點(diǎn)x.x.x.122內(nèi)存使用率11.2%

節(jié)點(diǎn)x.x.x.47內(nèi)存使用率20.2%

節(jié)點(diǎn)x.x.x.47內(nèi)存使用率20.2%

結(jié)論:配置域名集群無(wú)風(fēng)險(xiǎn)。
備注:當(dāng)前風(fēng)險(xiǎn)較大集中在注冊(cè)域名組節(jié)點(diǎn),但是發(fā)生的不可用的概率較小,所以以觀察為主,節(jié)后低峰期再處理。
1.告警與觀測(cè)
做好告警設(shè)置和觀察,特別監(jiān)控內(nèi)存使用率在90%時(shí),申請(qǐng)執(zhí)行應(yīng)急預(yù)案。內(nèi)存約在使用超過(guò)95%執(zhí)行該預(yù)案
2.應(yīng)急操作
定向爆破
| 步驟 | 操作過(guò)程 |
|---|---|
| 1 | 將節(jié)點(diǎn)高風(fēng)險(xiǎn)域名指向高配機(jī)器x.x.x.122 |
| 2 | 下線該高風(fēng)險(xiǎn)節(jié)點(diǎn)迫使客戶端觸發(fā)重連 |
| 3 | 升級(jí)該高風(fēng)險(xiǎn)節(jié)點(diǎn)為高配機(jī) |
備注:其他節(jié)點(diǎn)均以此輪換進(jìn)行。
