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