平臺或系統(tǒng)的容災方案,該如何考量和設計?

0 評論 2453 瀏覽 4 收藏 8 分鐘

相信不少人在生活中都接觸過所謂的“故障場景”,而這些“故障”的出現(xiàn),無疑給用戶和企業(yè)都帶來了一定的不良影響。那么,怎么讓系統(tǒng)或平臺在發(fā)生意外故障后仍能不間斷地運行呢?這篇文章里,作者討論了容災方案的規(guī)劃與設計,一起來看。

日常生活當中,我們經常會接觸到因平臺系統(tǒng)故障服務無法正常訪問的情況。在過去的一年,很多頭部游戲、生活服務類產品接連爆出宕機事故,因為涉及面廣、影響范圍大,產生了很多“名場面”,在網絡上也是被頻繁的討論。

產品經理在規(guī)劃系統(tǒng)和設計容災方案時,需要從數(shù)據安全、業(yè)務穩(wěn)定、經濟可行等角度出發(fā),考量各種故障場景,明確產品或系統(tǒng)應保持的容災級別或范圍,通過架構升級、建立容災響應機制等手段,保證在發(fā)生意外故障后,業(yè)務系統(tǒng)仍能不間斷地運行。

本文也是結合自身工作當中接觸到的的一些云平臺容災經歷,做了部分歸納整理,供相互學習和交流。

一、常見的故障場景

一般平臺產品故障場景主要包括單產品故障、服務器斷電或斷網和硬件故障場景。當然也存在一些其他的原因,像編碼的邏輯問題或漏洞、用戶的運行環(huán)境和生產環(huán)境功能不一致等問題,這類情形一般是流程管控上的瑕疵,通過加強制度審查,是能規(guī)避掉大部分潛在風險的。

1. 單產品故障

單產品故障是指組成我們業(yè)務平臺的某一項產品服務發(fā)生了管控故障,不能正常履行既定職能,導致服務中斷的情況,故障主要包括以下場景:

  • 產品部署的資源夯死,數(shù)據讀寫異常;
  • 未知問題產生的進程阻斷;
  • 產品所在的容器異常;
  • 服務器宕機,無法訪問。

2. 斷電斷網

斷電場景主要是指支撐業(yè)務平臺的服務器機房整體斷電了或部分機柜斷電了,從而導致的異常。

斷網場景則是因為平臺上行鏈路和數(shù)據中心出口設備故障產生了異常。

3. 硬件故障

核心設備硬件損傷后無法恢復引起的故障。

二、明確容災級別或范圍

在規(guī)劃產品或系統(tǒng)容災方案過程中,首先要明確自身的具體需求,是要保障核心服務還是要保障所有服務,當故障發(fā)生后需要在多長時間內響應和處理問題,諸如此類的問題都要好好考慮清楚。

1. 容災級別

從容災保障對象層面來看,容災大致分為兩個級別:平臺級容災和業(yè)務級容災。平臺級容災僅實現(xiàn)核心的數(shù)據備份、核心服務的雙活或主備,不涉及全量的業(yè)務應用。而業(yè)務級容災則是在平臺級容災的基礎上,根據業(yè)務系統(tǒng)的容災需求,從業(yè)務系統(tǒng)網絡層、應用層、數(shù)據庫層等構建跨站點集群,以實現(xiàn)網絡雙活、應用雙活、數(shù)據主從。

2. 主備和雙活

定義好容災級別后,就要考慮具體的容災形式。通常情況下可以考慮兩種容災方式,雙活模式和主備模式。

  1. 主備模式是依托兩套環(huán)境,一套為主環(huán)境,另一套作為備用環(huán)境。正常情況下由主環(huán)境系統(tǒng)提供服務,另一個環(huán)境系統(tǒng)不承擔任何流量,數(shù)據在主備之間同步復制。只有在主環(huán)境生產系統(tǒng)癱瘓,備用環(huán)境系統(tǒng)才會切換啟用。
  2. 雙活模式同樣也是兩套環(huán)境的業(yè)務系統(tǒng),和主備不同的是兩個環(huán)境會同時處于運行當中,類似于負載均衡,流量指向可通過工具控制,數(shù)據同步也是實時的,所以也就無所謂誰是主、誰是備了。

以上提到的容災級別和容災形式是做容災方案規(guī)劃設計時需要去考慮的,當然所有落地的方案都要基于實際去考量,不過度規(guī)劃,合適的才是最好的。

三、建立容災響應機制

在明確實施路徑后,還應在制定應急響應計劃,其中有幾個關鍵因素需要特別注意。

首先,確定合理且完整的演練方案和應急響應流程。制定的計劃中要明確每個人的任務和職責,充分培訓和訓練演練的參與人員,使其能夠熟練掌握操作技能和相關知識。

其次,應建立健全的溝通機制和協(xié)調機構,確保各個環(huán)節(jié)的信息和指令能夠及時傳達和執(zhí)行。

1. 容災演練

容災演練是為了最大程度降低因故障引起的影響,確保產品或系統(tǒng)可持續(xù)提供對外服務,持續(xù)不斷的去完善故障恢復應急保障機制,檢驗故障發(fā)生后的快速恢復效果,提升運維人員的應急處置能力,驗證容災處理重大問題的能力,夯實產品或系統(tǒng)的運行基礎。

  • 驗證故障恢復處置能力,包括故障發(fā)現(xiàn)、故障處置、故障恢復等;
  • 熟悉故障發(fā)生時的應急操作,鍛煉運維團隊應急能力;
  • 根據容災演練結果,逐步沉淀形成故障應急預案指導手冊,形成標準化的應急處置流程。

2. 容災演練流程

容災演練流程主要包括演練切換階段、演練回切階段和演練總結階段。演練切換階段包括演練準備與環(huán)境檢查、模擬故障、容災切換和結果驗證;演練回切階段主要包括故障恢復、檢查恢復結果、容災切換(回切)和結果驗證等;演練總結階段包括演練問題消缺、容災方案完善、演練數(shù)據整理和產品消缺等工作。

最后

在規(guī)劃設計容災方案的時候,一定要考慮清楚想要的是什么,結合業(yè)務的具體需要,并不是越高大上越好。選定方案要綜合考慮到成本、架構、業(yè)務訴求等諸多方面,選擇更合適、更有性價比的方案,容災是手段,系統(tǒng)穩(wěn)定運行是目的。

本文由 @金金魚 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!