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