術(shù)語 負(fù)載均衡是指在多個計算資源之間分布工作負(fù)荷。負(fù)載均衡旨在優(yōu)化資源使用、最大化吞吐量、最小化響應(yīng)時間并避免重載任何單個資源。它還可以通過跨冗余計算資源共享工作負(fù)荷來提高可用性。
Azure提供各種負(fù)載均衡服務(wù),可用于跨多個計算資源(應(yīng)用程序網(wǎng)關(guān)、Front Door、負(fù)載均衡器和流量管理員)分配工作負(fù)荷。
本文介紹如何使用Azure門戶中的Azure負(fù)載均衡中心頁來確定適合業(yè)務(wù)需求的負(fù)載均衡解決方案。
服務(wù)分類
Azure負(fù)載均衡服務(wù)可以按兩個維度進(jìn)行分類:全局與區(qū)域,HTTP(S)與非HTTP(S)。
全局與區(qū)域
·全局負(fù)載均衡服務(wù)跨區(qū)域后端、云或混合本地服務(wù)分發(fā)流量。這些服務(wù)將最終用戶流量路由到最近的可用后端。它們還對服務(wù)可靠性或性能的變化做出反應(yīng),以最大程度地提高可用性和性能??梢詫⑺鼈円暈樵诳绮煌瑓^(qū)域/地域托管的應(yīng)用程序標(biāo)記、終結(jié)點(diǎn)或縮放單元之間實(shí)現(xiàn)負(fù)載均衡的系統(tǒng)。
·區(qū)域負(fù)載均衡服務(wù)在虛擬網(wǎng)絡(luò)中跨虛擬機(jī)分配流量,(VM)或區(qū)域中的區(qū)域冗余服務(wù)終結(jié)點(diǎn)。你可以將它們視為在虛擬網(wǎng)絡(luò)中的區(qū)域內(nèi)的VM、容器或群集之間實(shí)現(xiàn)負(fù)載均衡的系統(tǒng)。
HTTP(S)與非HTTP(S)
·HTTP(S)負(fù)載均衡服務(wù)是僅接受HTTP(S)流量的第7層負(fù)載均衡器。它們適用于Web應(yīng)用程序或其他HTTP(S)終結(jié)點(diǎn)。其中包括SSL卸載、Web應(yīng)用程序防火墻、基于路徑的負(fù)載均衡和會話親和性等功能。
·非HTTP/S負(fù)載均衡服務(wù)可以處理非HTTP(S)流量,建議用于非Web工作負(fù)荷。
下表匯總了以下類別的Azure負(fù)載均衡服務(wù):
Azure負(fù)載均衡服務(wù)
下面是Azure中當(dāng)前提供的主要負(fù)載均衡服務(wù):
Front Door是一個應(yīng)用程序分發(fā)網(wǎng)絡(luò),可為Web應(yīng)用程序提供全局負(fù)載均衡和站點(diǎn)加速服務(wù)。它為應(yīng)用程序提供第7層功能,例如SSL卸載、基于路徑的路由、快速故障轉(zhuǎn)移、緩存等,以提高應(yīng)用程序的性能和高可用性。
備注
目前,Azure Front Door不支持Web套接字。
流量管理員是一種基于DNS的流量負(fù)載均衡器,使你可以以最佳方式將流量分發(fā)到全球Azure區(qū)域的服務(wù),同時提供高可用性和響應(yīng)能力。由于流量管理器是基于DNS的負(fù)載均衡服務(wù),因此它僅在域級別進(jìn)行負(fù)載均衡。出于此原因,它無法像Front Door一樣快速進(jìn)行故障轉(zhuǎn)移,因為存在DNS緩存和系統(tǒng)不采用DNS TTL的常見挑戰(zhàn)。
應(yīng)用程序網(wǎng)關(guān)提供應(yīng)用程序傳送控制器(ADC)即服務(wù),提供各種第7層負(fù)載均衡功能。可以用它將CPU密集型SSL終止卸載到應(yīng)用程序網(wǎng)關(guān),優(yōu)化Web場工作效率。
Azure負(fù)載均衡器是所有UDP和TCP協(xié)議的高性能超低延遲第4層負(fù)載均衡服務(wù),(入站和出站)。它構(gòu)建用于處理每秒數(shù)百萬個請求,同時確保解決方案高度可用。Azure負(fù)載均衡器是區(qū)域冗余的,可確保整個可用性區(qū)域的高可用性。
使用Azure門戶選擇負(fù)載均衡解決方案
你可以使用Azure門戶中的“Azure負(fù)載均衡”頁,幫助你根據(jù)業(yè)務(wù)需要選擇適當(dāng)?shù)呢?fù)載均衡解決方案。Azure負(fù)載均衡包括以下部分工作流中所述的決策查詢,可按如下所示進(jìn)行訪問:
1.通過https://portal.azure.com登錄到Azure門戶。
2.在門戶頂部的“搜索資源”、“服務(wù)和文檔”框中,鍵入負(fù)載均衡。當(dāng)搜索結(jié)果中出現(xiàn)負(fù)載均衡時,請選擇它。
備注
若要了解選擇負(fù)載均衡解決方案時考慮的一些因素,請參閱本文中的Azure負(fù)載均衡決策樹。
3.在負(fù)載均衡-幫助我選擇(預(yù)覽版)頁面,執(zhí)行下列操作之一:
·若要查找適合企業(yè)的負(fù)載均衡解決方案,請按照默認(rèn)的“幫助我選擇”選項卡中的說明進(jìn)行操作。
·若要了解每個負(fù)載均衡服務(wù)支持的協(xié)議和服務(wù)功能,請選擇“服務(wù)比較”選項卡。
·若要訪問負(fù)載均衡服務(wù)的免費(fèi)培訓(xùn),請選擇“教程”選項卡。
參考體系結(jié)構(gòu)示例
下表列出了基于用作解決方案的負(fù)載均衡服務(wù)的各種體系結(jié)構(gòu)參考文章。
Azure中負(fù)載均衡的決策樹
如果要選擇負(fù)載均衡選項,則在Azure負(fù)載均衡中選擇“幫我選擇”默認(rèn)選項卡時,需考慮以下一些因素:
·流量類型。它是Web(HTTP/HTTPS)應(yīng)用程序嗎?它是面向公眾的應(yīng)用程序還是專用應(yīng)用程序?
·全局與區(qū)域。你是需要對虛擬網(wǎng)絡(luò)內(nèi)的VM或容器進(jìn)行負(fù)載均衡,還是需要在多個區(qū)域之間實(shí)現(xiàn)規(guī)模集/部署的負(fù)載均衡,還是兩者都需要?
可用性。什么是服務(wù)SLA?
成本。請參閱Azure定價。除了服務(wù)本身的成本,還要考慮管理在該服務(wù)上構(gòu)建的解決方案的操作成本。
功能和限制。每項服務(wù)的總體限制有哪些?請參閱服務(wù)限制。
以下流程圖將幫助你為應(yīng)用程序選擇負(fù)載均衡解決方案。該流程圖將引導(dǎo)你創(chuàng)建一組關(guān)鍵決策條件用于訪問建議。
請將此流程圖視為起點(diǎn)。每個應(yīng)用程序有獨(dú)特的要求,因此請將該建議作為起點(diǎn)。然后執(zhí)行更詳細(xì)的評估。
如果應(yīng)用程序包括多個工作負(fù)荷,請單獨(dú)評估每個工作負(fù)荷。完整的解決方案可能合并了兩個或兩個以上的負(fù)載均衡解決方案。
定義
·面向Internet??蓮腎nternet公開訪問的應(yīng)用程序。最佳做法是,應(yīng)用程序所有者通過設(shè)置Web應(yīng)用程序防火墻和DDoS保護(hù)等產(chǎn)品/服務(wù)來應(yīng)用限制性訪問策略或保護(hù)應(yīng)用程序。
·全局。最終用戶或客戶端位于較小的地理區(qū)域之外。例如,跨多個大洲、跨大洲的國家/地區(qū),甚至跨較大國家/地區(qū)內(nèi)的多個大都市區(qū)域的用戶。
·PaaS.平臺即服務(wù)(PaaS)服務(wù)提供托管托管托管環(huán)境,你可以在其中部署應(yīng)用程序,而無需管理VM或網(wǎng)絡(luò)資源。在這種情況下,PaaS是指在區(qū)域中提供集成負(fù)載均衡的服務(wù)。
·AKS。Azure Kubernetes服務(wù)使你能夠部署和管理容器化應(yīng)用程序。AKS提供無服務(wù)器Kubernetes、集成的持續(xù)集成和持續(xù)交付(CI/CD)體驗,以及企業(yè)級安全性和治理。
·IaaS?;A(chǔ)結(jié)構(gòu)即服務(wù)(IaaS)是一種計算選項,可在其中預(yù)配所需的VM以及關(guān)聯(lián)的網(wǎng)絡(luò)和存儲組件。IaaS應(yīng)用程序需要使用Azure負(fù)載均衡器在虛擬網(wǎng)絡(luò)中進(jìn)行內(nèi)部負(fù)載均衡。
·應(yīng)用程序?qū)犹幚硎侵柑摂M網(wǎng)絡(luò)中的特殊路由。例如,跨VM或虛擬機(jī)規(guī)模集在虛擬網(wǎng)絡(luò)中基于路徑的路由。
后續(xù)步驟
·創(chuàng)建公共負(fù)載均衡器以對VM進(jìn)行負(fù)載均衡
·使用應(yīng)用程序網(wǎng)關(guān)定向Web流量
·為基于DNS的全局負(fù)載均衡配置流量管理員
·為高度可用的全局Web應(yīng)用程序配置Front Door