談?wù)劯呖捎孟到y(tǒng)的運(yùn)維設(shè)施建設(shè)

?最近和一些朋友做了一些線下的溝通,大家都是互聯(lián)網(wǎng)技術(shù)同行, 自然會(huì)談一下各自工作中遇到的一些問題。聊完后我有一個(gè)感受,就是大家在各自業(yè)務(wù)中實(shí)施高可用過程中,踩了一些坑,然后再反過來不斷優(yōu)化自己的系統(tǒng),但是實(shí)際上如果我們一開始就能在運(yùn)維端打下基礎(chǔ),就可以避免里面的很多問題。所以今天來簡(jiǎn)單談?wù)勥@一塊我個(gè)人的一些實(shí)戰(zhàn)經(jīng)驗(yàn)。

簡(jiǎn)單來說,就是做好三件事:?

故障發(fā)現(xiàn)機(jī)制?

系統(tǒng)恢復(fù)機(jī)制

線上故障復(fù)盤機(jī)制

接下來,我們?cè)偌?xì)說這三件事如何來落地。

1. 故障發(fā)現(xiàn)機(jī)制?

1.?報(bào)警的移動(dòng)化,故障出現(xiàn)后的第一步,自然是報(bào)警,系統(tǒng)不會(huì)自我修復(fù),需要工程師來處理,所以需要通知到處理人。在24x7的時(shí)間維度下,只有報(bào)警系統(tǒng)通過短信或者語音電話才能有效通知。如果你閑報(bào)警不帶勁,可以考慮換志玲JJ的語音。

2.?報(bào)警的實(shí)時(shí)化,?這一點(diǎn)不必多解釋,時(shí)間就是系統(tǒng)的生命,所以報(bào)警的延遲必須控制在1-3分鐘的延遲內(nèi),不能再多了。

3.?監(jiān)控的可視化,光靠報(bào)警短信,是很難第一時(shí)間定位問題的,所以這就需要做好監(jiān)控的可視化,無論是系統(tǒng)打點(diǎn)還是日志搜集,具體拿石投來說,我們?nèi)罩臼占腅LK方式或者通過系統(tǒng)打點(diǎn),走kafka + Storm全鏈路監(jiān)控我們都做了,然后通過控制臺(tái)清楚的定位問題,所有業(yè)務(wù)的關(guān)鍵數(shù)據(jù),我們也有通過grafana做實(shí)時(shí)的采樣。

2. 系統(tǒng)的恢復(fù)機(jī)制

其實(shí)恢復(fù)機(jī)制也沒有什么神秘的地方,就是努力做好運(yùn)維的四項(xiàng)關(guān)鍵任務(wù):回滾、重啟、擴(kuò)容、下機(jī)器。

回滾,每次發(fā)布前,本次發(fā)布的服務(wù)必須做好回滾的準(zhǔn)備,PlanB要想好,絕不能等線上故障后,才開始考慮如何回滾。一鍵回滾是家中常規(guī)武器。

重啟,還是要落實(shí)到心跳或者服務(wù)監(jiān)聽,通過系統(tǒng)腳本做到服務(wù)自動(dòng)重啟,除非無法正常重啟,再引入手工操作。

擴(kuò)容/下機(jī)器,落實(shí)到鏡像的快速生成,有一套現(xiàn)成腳本做到一鍵上線或者下線?,F(xiàn)成的輪子已經(jīng)很多,二次開發(fā)一下很快。

除此之外,平時(shí)需要做好主備切換、集群遷移、異地容災(zāi)等等的演練,“平時(shí)多流汗,戰(zhàn)時(shí)少流血”,一直都是真理。

3. 線上故障復(fù)盤機(jī)制

即便是做到以上提到的第1點(diǎn)和第2點(diǎn),還是無法保證系統(tǒng)不會(huì)出問題,所以我們需要有一套機(jī)制來分析線上故障,通過復(fù)盤,分析從故障發(fā)生前到發(fā)生后的應(yīng)急處理過程,然后系統(tǒng)思考故障未來的解決方案,再逐漸落地。同時(shí),系統(tǒng)在任何時(shí)候都要考慮不可用的時(shí)候,如何提供降級(jí)方案。

????????為什么復(fù)盤很重要?因?yàn)槠匠5墓δ軠y(cè)試也好,性能測(cè)試也罷,其實(shí)都是無法100%難覆蓋到各種情況的,而線上的真實(shí)流量能如實(shí)地反映出系統(tǒng)當(dāng)前的狀態(tài),能真實(shí)地評(píng)估出系統(tǒng)目前的短板或者瓶頸在哪里。

復(fù)盤不只是運(yùn)維或者開發(fā)參加,而是相關(guān)技術(shù)團(tuán)隊(duì)(開發(fā)、測(cè)試、運(yùn)維),拉上產(chǎn)品乃至運(yùn)營(yíng)人員,一起進(jìn)行,從各個(gè)角度分析,出現(xiàn)線上故障很多時(shí)候都是多方面原因。珍惜每次線上故障復(fù)盤,上一層樓看問題,下一層樓解決問題。

掃描二維碼或手動(dòng)搜索微信公眾號(hào)【架構(gòu)?!浚?ForestNotes

歡迎轉(zhuǎn)載,帶上以下二維碼即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容