Azure 上的高可用概念,azure 優(yōu)點(diǎn)Azure 上的高可用概念場(chǎng)景一:某智能家居廠家,用戶喊出“小X同學(xué),幫我掃地”后,服務(wù)器宕機(jī)了,掃地機(jī)器人不能立即啟動(dòng),于是,用戶可能再連續(xù)喊幾次后,無奈又習(xí)慣的按下了掃地機(jī)器人的啟動(dòng)按鈕。場(chǎng)景二:某高層建筑有2000個(gè)房間,10個(gè)房間煙感連續(xù)發(fā)出報(bào)警,理論上出現(xiàn)了火災(zāi)并在......
場(chǎng)景一:
某智能家居廠家,用戶喊出“小X同學(xué),幫我掃地”后,服務(wù)器宕機(jī)了,掃地機(jī)器人不能立即啟動(dòng),于是,用戶可能再連續(xù)喊幾次后,無奈又習(xí)慣的按下了掃地機(jī)器人的啟動(dòng)按鈕。
場(chǎng)景二:
某高層建筑有2000個(gè)房間,10個(gè)房間煙感連續(xù)發(fā)出報(bào)警,理論上出現(xiàn)了火災(zāi)并在逐步擴(kuò)散,恰巧,服務(wù)器又宕機(jī)了,然后...
兩個(gè)場(chǎng)景都是服務(wù)器宕機(jī),但后果卻不同,根據(jù)業(yè)務(wù)實(shí)際情況,我們必須考慮軟件架構(gòu)的高可用性。
有人會(huì)說,上云吧,上云比自己搭建服務(wù)器穩(wěn)定多了。通常情況下是這樣的,但是,不要忽略SLA這個(gè)重要的概念,云產(chǎn)品都是有SLA的,SLA是什么呢?SLA全稱是ServiceLevel Agreement,翻譯為服務(wù)水平協(xié)議,他表明了公有云提供服務(wù)的等級(jí)以及質(zhì)量。比如我們說月度99.95%的SLA,意味著每個(gè)月服務(wù)出現(xiàn)故障的時(shí)間只能占總時(shí)間的0.05%,如果這個(gè)月是30天,那么約等于21.6分鐘。
對(duì)于場(chǎng)景一,或許21.6分鐘是可容忍的,但對(duì)于場(chǎng)景二,絕對(duì)是不允許的。
針對(duì)各種高可用方案,通常會(huì)提到下面這些概念(不是針對(duì)Azure的概念):
同城容災(zāi)
同城容災(zāi)是在同城或相近區(qū)域內(nèi)(≤200K M)建立兩個(gè)數(shù)據(jù)中心:一個(gè)為數(shù)據(jù)中心,負(fù)責(zé)日常生產(chǎn)運(yùn)行;另一個(gè)為災(zāi)難備份中心,負(fù)責(zé)在災(zāi)難發(fā)生后的應(yīng)用系統(tǒng)運(yùn)行。
同城災(zāi)難備份的數(shù)據(jù)中心與災(zāi)難備份中心的距離比較近,通信線路質(zhì)量較好,比較容易實(shí)現(xiàn)數(shù)據(jù)的同步復(fù)制,保證高度的數(shù)據(jù)完整性和數(shù)據(jù)零丟失。同城災(zāi)難備份一般用于防范火災(zāi)、建筑物破壞、供電故障、計(jì)算機(jī)系統(tǒng)及人為破壞引起的災(zāi)難。
異地容災(zāi)
異地容災(zāi)主備中心之間的距離較遠(yuǎn)(>200KM),異地災(zāi)難備份不僅可以防范火災(zāi)、建筑物破壞等可能遇到的風(fēng)險(xiǎn)隱患,還能夠防范戰(zhàn)爭(zhēng)、地震、水災(zāi)等風(fēng)險(xiǎn)。
由于同城災(zāi)難備份和異地災(zāi)難備份各有所長(zhǎng),為達(dá)到最理想的防災(zāi)效果,數(shù)據(jù)中心應(yīng)考慮采用同城和異地各建立一個(gè)災(zāi)難備份中心的方式解決。
Azure上有很多高可用的方案可供我們選擇,以盡可能提高我們的業(yè)務(wù)系統(tǒng)能夠盡可能的穩(wěn)定對(duì)外提供服務(wù),首先要做的是了解Azure上的高可用相關(guān)的概念,才能靈活應(yīng)用。
什么是Azure區(qū)域?
Azure在世界各地的多個(gè)數(shù)據(jù)中心運(yùn)行。這些數(shù)據(jù)中心分組到地理區(qū)域,讓用戶可靈活選擇構(gòu)建應(yīng)用程序的位置。
可以在規(guī)定的地理區(qū)域(例如“中國(guó)東部”、“中國(guó)北部”或“中國(guó)東部2”)中創(chuàng)建Azure資源。為了提供冗余和可用性,每個(gè)區(qū)域都設(shè)有多個(gè)數(shù)據(jù)中心。這樣,便可靈活設(shè)計(jì)應(yīng)用程序,創(chuàng)建距離用戶最近的VM,滿足任何法律、符合性或稅務(wù)要求。
截至2019年11月,Azure全球共計(jì)54個(gè)區(qū)域,中國(guó)大陸有4個(gè)區(qū)域。
Azure地域Azure區(qū)域組織為地域形式。Azure地域保證數(shù)據(jù)駐留、主權(quán)、符合性和恢復(fù)能力的要求在地域邊界內(nèi)得到遵從。
區(qū)域?qū)?/strong>
每個(gè)Azure區(qū)域都與同一地理位置內(nèi)的另一區(qū)域配對(duì)。此方法適用于跨地域復(fù)制資源(例如VM存儲(chǔ)),降低因自然災(zāi)害、社會(huì)動(dòng)亂、電力中斷或物理網(wǎng)絡(luò)中斷而同時(shí)影響兩個(gè)區(qū)域的可能性。區(qū)域?qū)Φ钠渌麅?yōu)點(diǎn)包括:
出現(xiàn)范圍較廣的Azure區(qū)域中斷時(shí),每個(gè)區(qū)域?qū)χ杏幸粋€(gè)區(qū)域優(yōu)先級(jí)更高,這樣可以縮短應(yīng)用程序的還原時(shí)間。
將逐一對(duì)配對(duì)的區(qū)域進(jìn)行計(jì)劃內(nèi)Azure更新,盡量減少停機(jī)時(shí)間并降低應(yīng)用程序中斷風(fēng)險(xiǎn)。
出于稅務(wù)和執(zhí)法管轄權(quán)方面的考慮,數(shù)據(jù)仍以配對(duì)的形式駐留在同一地域內(nèi)。
Azure中的高可用性概述
可以通過多種不同的方式創(chuàng)建Azure中的高可用性。有兩個(gè)選項(xiàng)是“可用性集”和“可用性區(qū)域”。通過使用可用性集,你的VM將受到保護(hù),從而免受數(shù)據(jù)中心內(nèi)可能發(fā)生的故障的影響。這包括硬件故障和Azure軟件故障。通過使用可用性區(qū)域,你的VM將放置在物理上獨(dú)立、沒有共享資源的基礎(chǔ)設(shè)施上,因此將受到保護(hù),不受整個(gè)數(shù)據(jù)中心故障的影響。
當(dāng)你想要在Azure中部署基于VM的可靠解決方案時(shí),請(qǐng)使用可用性集或可用性區(qū)域。
可用性集概述
可用性集是一種邏輯分組功能,在Azure中使用它可以確保將VM資源部署在Azure數(shù)據(jù)中心后,這些資源相互隔離。Azure確??捎眯约胁渴鸬腣M能夠跨多個(gè)物理服務(wù)器、計(jì)算機(jī)架、存儲(chǔ)單元和網(wǎng)絡(luò)交換機(jī)運(yùn)行。如果出現(xiàn)硬件或Azure軟件故障,只有一部分VM會(huì)受到影響,整體應(yīng)用程序仍會(huì)保持運(yùn)行,可供客戶使用。如果想要構(gòu)建可靠的云解決方案,可用性集是一項(xiàng)關(guān)鍵功能。
假設(shè)某個(gè)基于VM的典型解決方案包含四個(gè)前端Web服務(wù)器,以及兩個(gè)托管數(shù)據(jù)庫(kù)的后端VM。在Azure中,若想在部署VM之前先定義兩個(gè)可用性集:一個(gè)可用性集用于“Web”層級(jí),另一個(gè)可用性集用于“數(shù)據(jù)庫(kù)”層級(jí)。創(chuàng)建新的VM時(shí),可在azvm create命令中指定可用性集作為參數(shù),Azure會(huì)自動(dòng)確保在可用性集中創(chuàng)建的VM在多個(gè)物理硬件資源之間保持獨(dú)立。如果運(yùn)行某個(gè)Web服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器的物理硬件有問題,可以確信Web服務(wù)器和數(shù)據(jù)庫(kù)VM的其他實(shí)例會(huì)保持運(yùn)行狀態(tài),因?yàn)樗鼈兾挥诓煌挠布稀?/p>
可用性區(qū)域概述(截至2019年11月,中國(guó)區(qū)尚無可用性區(qū)域)
可用性區(qū)域是一個(gè)高可用性產(chǎn)品/服務(wù),在數(shù)據(jù)中心發(fā)生故障時(shí)可以保護(hù)應(yīng)用程序和數(shù)據(jù)??捎眯詤^(qū)域是Azure區(qū)域中獨(dú)特的物理位置。每個(gè)區(qū)域由一個(gè)或多個(gè)數(shù)據(jù)中心組成,這些數(shù)據(jù)中心配置了獨(dú)立電源、冷卻和網(wǎng)絡(luò)。為確保能夠進(jìn)行復(fù)原,所有已啟用的區(qū)域中必須至少有三個(gè)單獨(dú)的區(qū)域。區(qū)域中可用性區(qū)域的物理隔離可以在發(fā)生數(shù)據(jù)中心故障的情況下保護(hù)應(yīng)用程序和數(shù)據(jù)。區(qū)域冗余服務(wù)可跨可用性區(qū)域復(fù)制應(yīng)用程序和數(shù)據(jù),以防范單點(diǎn)故障。借助可用性區(qū)域,Azure提供業(yè)界最佳的99.99%VM正常運(yùn)行時(shí)間SLA。
與可用性集類似,假設(shè)某個(gè)基于VM的典型解決方案包含四個(gè)前端Web服務(wù)器,以及兩個(gè)托管數(shù)據(jù)庫(kù)的后端VM。與可用性集類似,你將希望在兩個(gè)單獨(dú)的可用性區(qū)域中部署VM:一個(gè)可用性區(qū)域用于“Web”層,另一個(gè)可用性區(qū)域用于“數(shù)據(jù)庫(kù)”層。當(dāng)你創(chuàng)建新的VM并將可用性區(qū)域指定為azvm create命令的參數(shù)時(shí),Azure會(huì)自動(dòng)確保你創(chuàng)建的VM隔離在完全不同的可用性區(qū)域中。如果運(yùn)行某個(gè)Web服務(wù)器或數(shù)據(jù)庫(kù)服務(wù)器VM的整個(gè)數(shù)據(jù)中心出現(xiàn)問題,你就會(huì)知道Web服務(wù)器和數(shù)據(jù)庫(kù)VM的其他實(shí)例仍在運(yùn)行,因?yàn)樗鼈冊(cè)谕耆?dú)立的數(shù)據(jù)中心中運(yùn)行。
Azure區(qū)域中的可用性區(qū)域是容錯(cuò)域和更新域的組合。例如,如果在Azure區(qū)域的三個(gè)區(qū)域中創(chuàng)建三個(gè)或更多VM,則VM將有效分布在三個(gè)容錯(cuò)域和三個(gè)更新域中。Azure平臺(tái)會(huì)識(shí)別更新域上的此分布,以確保不同區(qū)域中的VM不會(huì)同時(shí)更新。
通過將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)和數(shù)據(jù)資源共置在一個(gè)區(qū)域并將其復(fù)制到其他區(qū)域,在應(yīng)用程序體系結(jié)構(gòu)中內(nèi)置高可用性。支持可用性區(qū)域的Azure服務(wù)劃分為兩類:
區(qū)域性服務(wù)–將資源固定到特定區(qū)域(例如虛擬機(jī)、托管磁盤、標(biāo)準(zhǔn)IP地址)或
區(qū)域冗余服務(wù)–平臺(tái)自動(dòng)跨區(qū)域復(fù)制(例如區(qū)域冗余存儲(chǔ)和SQL數(shù)據(jù)庫(kù))。
若要在Azure上實(shí)現(xiàn)全面的業(yè)務(wù)連續(xù)性,可結(jié)合使用可用性區(qū)域和Azure區(qū)域?qū)順?gòu)建應(yīng)用程序體系結(jié)構(gòu)。可以使用Azure區(qū)域中的可用性區(qū)域以同步方式復(fù)制應(yīng)用程序和數(shù)據(jù)以實(shí)現(xiàn)高可用性,并以異步方式跨Azure區(qū)域復(fù)制以實(shí)現(xiàn)災(zāi)難恢復(fù)保護(hù)。
容錯(cuò)域
容錯(cuò)域是共享公用電源和網(wǎng)絡(luò)交換機(jī)的基礎(chǔ)硬件邏輯組,類似于本地?cái)?shù)據(jù)中心內(nèi)的機(jī)架。在可用性集內(nèi)創(chuàng)建VM時(shí),Azure平臺(tái)會(huì)將VM自動(dòng)分布到這些容錯(cuò)域。此方法可限制潛在物理硬件故障、網(wǎng)絡(luò)中斷或斷電的影響。
更新域
更新域是可以同時(shí)維護(hù)或重新啟動(dòng)的基礎(chǔ)硬件邏輯組。在可用性集內(nèi)創(chuàng)建VM時(shí),Azure平臺(tái)會(huì)自動(dòng)將VM分布到這些更新域。Azure平臺(tái)進(jìn)行定期維護(hù)時(shí),此方法可確保至少有一個(gè)應(yīng)用程序?qū)嵗冀K保持運(yùn)行狀態(tài)。在計(jì)劃內(nèi)維護(hù)期間,更新域的重啟順序可能不會(huì)按序進(jìn)行,但一次只重啟一個(gè)更新域。
可用性集由可防止硬件故障以及允許安全應(yīng)用更新的兩個(gè)額外分組構(gòu)成容錯(cuò)域(FD)和更新域(UD)。
了解了這些概念,下面我們會(huì)逐一介紹Azure上的負(fù)載均衡,應(yīng)用程序網(wǎng)關(guān),流量管理器等產(chǎn)品,然后實(shí)戰(zhàn)操作,最終看能否拔掉生產(chǎn)環(huán)境中的網(wǎng)線。
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問
微信掃一掃
馬上聯(lián)系在線顧問
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部