高可用解決方案詳解(八大主流架構(gòu)方案)
集群架構(gòu)
通過將多個(gè)服務(wù)器組成一個(gè)集群,提供冗余,例如:Hadoop集群、Kubernetes集群、Kafka集群、MySQL集群...等。
如下圖所示:
圖片
通過將多個(gè)服務(wù)器、或節(jié)點(diǎn),組合成一個(gè)集群來實(shí)現(xiàn),當(dāng)某個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),其他節(jié)點(diǎn)可以接管其工作,從而確保服務(wù)的連續(xù)性。
比如:大型網(wǎng)站都是集群的時(shí)代,Web服務(wù)器集群、應(yīng)用服務(wù)器集群、后端的服務(wù)器集群...等等,當(dāng)別的服務(wù)器故障時(shí),集群的其它服務(wù)器,仍然能夠正常提供服務(wù)。
所以,高可用集群架構(gòu),在現(xiàn)代IT基礎(chǔ)設(shè)施中扮演著非常重要的角色,能夠顯著提高系統(tǒng)的可靠性、和可用性。
負(fù)載均衡
通過將請(qǐng)求分發(fā)到多個(gè)服務(wù)器上來平衡負(fù)載,確保任何一臺(tái)服務(wù)器發(fā)生故障時(shí),其他服務(wù)器可以繼續(xù)處理請(qǐng)求。
如下圖所示:
圖片
比如:上面的多臺(tái)后端服務(wù)器,如果“應(yīng)用服務(wù)器1”故障了,負(fù)載均衡檢查到“應(yīng)用服務(wù)器1”掛了,直接會(huì)切換到別的“應(yīng)用服務(wù)器2”、“應(yīng)用服務(wù)器3”.
通過這種負(fù)載的方式,提高了系統(tǒng)高可用性、和可擴(kuò)展性。
可以使用專用硬件設(shè)備(如:F5、Citrix ADC...)進(jìn)行負(fù)載均衡,也可以使用軟件成本低的:Nginx、LVS、HAProxy...等等。
數(shù)據(jù)備份架構(gòu)
數(shù)據(jù)備份高可用性是企業(yè)數(shù)據(jù)管理中的關(guān)鍵環(huán)節(jié),很多時(shí)候被低估了,比如:數(shù)據(jù)是最重要的,就需要數(shù)據(jù)定期備份。
以及,如果發(fā)生了突發(fā)事件,可以從備份的數(shù)據(jù)里,迅速恢復(fù)系統(tǒng)、和數(shù)據(jù)。
常見的備份,比如:
- 全備份(Full Backup):完整備份所有數(shù)據(jù),最簡(jiǎn)單,但最耗時(shí)、和空間。
- 增量備份(Incremental Backup):只備份自上次備份以來更改的數(shù)據(jù),節(jié)省時(shí)間、和存儲(chǔ)空間,但恢復(fù)時(shí)需依賴多個(gè)備份集。
- 差異備份(Differential Backup):只備份自上次全備份以來更改的數(shù)據(jù),比增量備份恢復(fù)更快,但需要:更多存儲(chǔ)空間。
可以備份到本地,也可以多備份一個(gè)到“云端”,這樣多個(gè)備份,可以更好的保證數(shù)據(jù)安全。
熱備架構(gòu)
在熱備方案中,一個(gè)備用服務(wù)器實(shí)時(shí)同步主服務(wù)器的數(shù)據(jù),當(dāng)主服務(wù)器故障時(shí),備用服務(wù)器立即接管。
當(dāng)主系統(tǒng)發(fā)生故障時(shí),自動(dòng)、或手動(dòng)將工作負(fù)載切換到備用系統(tǒng)的過程。
優(yōu)點(diǎn):
故障切換時(shí)間短,能夠快速恢復(fù)服務(wù),減少停機(jī)時(shí)間。
缺點(diǎn):
成本高,需要配置、與主系統(tǒng)相同的備用系統(tǒng),增加了硬件成本。
主從架構(gòu)
在數(shù)據(jù)庫中,主從復(fù)制可以通過一個(gè)主節(jié)點(diǎn)(Master)、和一個(gè)或多個(gè)從節(jié)點(diǎn)(Slave),來實(shí)現(xiàn)數(shù)據(jù)的復(fù)制、和容錯(cuò)。
如下圖所示:
圖片
主從架構(gòu),很多時(shí)候,不僅可以解決“讀多寫少”的場(chǎng)景。
還可以更好的解決可用性的問題,當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),從節(jié)點(diǎn)可以接管。
多數(shù)據(jù)中心架構(gòu)
將系統(tǒng)部署在多個(gè)地理位置不同的數(shù)據(jù)中心,以在一個(gè)數(shù)據(jù)中心發(fā)生災(zāi)難時(shí),其他數(shù)據(jù)中心能夠繼續(xù)提供服務(wù)。
比如:現(xiàn)在大家熟知的各大長(zhǎng),大部分都會(huì)有多數(shù)據(jù)中心。
國(guó)內(nèi)的,比如:北京、上海、深圳、成都......都會(huì)按照地域來建立數(shù)據(jù)中心。
比如:兩個(gè)、或多個(gè)數(shù)據(jù)中心同時(shí)提供服務(wù),支持負(fù)載均衡、和故障切換。
在某個(gè)數(shù)據(jù)中心發(fā)生災(zāi)難時(shí),能夠迅速切換到其他數(shù)據(jù)中心,從而,更好的保證業(yè)務(wù)連續(xù)性。
自動(dòng)故障檢測(cè)與恢復(fù)
使用自動(dòng)化工具、和技術(shù)來,監(jiān)測(cè)系統(tǒng)組件的健康狀態(tài),并在檢測(cè)到故障時(shí)自動(dòng)進(jìn)行故障轉(zhuǎn)移、或重啟,以減少對(duì)用戶的影響。
服務(wù)監(jiān)控與自動(dòng)化擴(kuò)展
實(shí)施全面的服務(wù)監(jiān)控機(jī)制,通過監(jiān)測(cè)系統(tǒng)負(fù)載、和性能指標(biāo)自動(dòng)調(diào)整資源,以應(yīng)對(duì)突發(fā)流量和負(fù)載變化,保證系統(tǒng)穩(wěn)定運(yùn)行。
這些高可用性解決方案:可以根據(jù)具體的業(yè)務(wù)需求、和應(yīng)用場(chǎng)景進(jìn)行選擇、和結(jié)合使用,以保障系統(tǒng)能夠持續(xù)提供穩(wěn)定和可靠的服務(wù)。
























