簡介
Microsoft Azure提供各種全局和區(qū)域服務(wù),用于管理網(wǎng)絡(luò)流量的分布式和負(fù)載平衡方式:
·應(yīng)用程序網(wǎng)關(guān)
·Front Door
·負(fù)載均衡器
·流量管理器
除了Azure的許多區(qū)域和區(qū)域體系結(jié)構(gòu)外,通過結(jié)合使用這些服務(wù),你可以構(gòu)建強大、可縮放且高性能的應(yīng)用程序。
應(yīng)用程序傳送套件
這些服務(wù)分為兩個類別:
1、流量管理器和前端等全局負(fù)載平衡服務(wù)將來自你的最終用戶的流量分布到各個云甚至你的混合本地服務(wù)中。全局負(fù)載均衡將流量路由到最近的服務(wù)后端,并對服務(wù)可靠性的更改進(jìn)行響應(yīng),以維持用戶的always on可用性和高性能。
2、區(qū)域負(fù)載平衡服務(wù)(例如負(fù)載均衡器和應(yīng)用程序網(wǎng)關(guān))可以將流量分配到虛擬網(wǎng)絡(luò)中的虛擬機)(虛擬網(wǎng)絡(luò)(vnet)或區(qū)域內(nèi)的服務(wù)終結(jié)點。
當(dāng)你組合這些全局和區(qū)域服務(wù)時,你的應(yīng)用程序?qū)哪愕淖罱K用戶發(fā)送到IaaS、PaaS或本地服務(wù)的可靠且安全的端到端流量中獲益。下一部分介紹上述各項服務(wù)。
全局負(fù)載均衡
流量管理器提供全局DNS負(fù)載均衡。它查看傳入的DNS請求,并按照客戶選擇的路由策略以正常的后端響應(yīng)。路由方法選項包括:
·**性能路由將請求發(fā)送到延遲最少的最近的后端。
·優(yōu)先級路由將所有流量直接傳遞到后端,并使用其他后端作為備份。
·加權(quán)輪循機制路由根據(jù)分配給每個后端的權(quán)重分配流量。
·地理路由可確保來自特定地理區(qū)域的請求可以由為這些區(qū)域映射的后端處理。(例如,來自西班牙的所有請求應(yīng)定向到法國中央Azure區(qū)域)
·通過子網(wǎng)路由,你可以將IP地址范圍映射到后端,以便將這些ip的傳入請求發(fā)送到特定的后端。例如,(從公司總部的IP地址范圍進(jìn)行連接的任何用戶都應(yīng)該獲取不同于一般用戶的web內(nèi)容)
客戶端直接連接到該后端。當(dāng)某個后端運行不正常時,Azure流量管理器可以檢測到這種狀態(tài),然后將客戶端重定向到另一個正常的實例。有關(guān)服務(wù)的詳細(xì)信息,請參閱Azure流量管理器文檔。
Azure前門提供動態(tài)網(wǎng)站加速(DSA)包含全局HTTP負(fù)載平衡。它著眼于為指定的主機名、URL路徑和配置的規(guī)則路由到最近后端/區(qū)域的傳入HTTP請求。
Front Door在Microsoft網(wǎng)絡(luò)邊緣終止HTTP請求,并主動進(jìn)行探測以檢測應(yīng)用程序或基礎(chǔ)結(jié)構(gòu)在運行狀況或延遲方面的變化。然后始終將流量路由到可用(正常運行)的最遠(yuǎn)后端。參閱Front Door的路由基礎(chǔ)結(jié)構(gòu)詳細(xì)信息以及流量路由方法深入了解該服務(wù)。
區(qū)域負(fù)載均衡
應(yīng)用程序網(wǎng)關(guān)以服務(wù)形式提供應(yīng)用程序傳送控制器(ADC),借此為應(yīng)用程序提供許多第7層負(fù)載均衡功能。客戶可以用它將CPU密集型TLS終止卸載到應(yīng)用程序網(wǎng)關(guān),優(yōu)化Web場工作效率。其他其他第7層路由功能還包括傳入流量的輪循機制分配、基于cookie的會話相關(guān)性、基于URL路徑的路由,以及在單個應(yīng)用程序網(wǎng)關(guān)后面托管多個網(wǎng)站的能力??蓪?yīng)用程序網(wǎng)關(guān)配置為面向Internet的終結(jié)點、僅限內(nèi)部的終結(jié)點,或兩者的組合。應(yīng)用程序網(wǎng)關(guān)完全受Azure管理,為你提供可伸縮性和高可用性。它提供豐富的診斷和日志記錄功能以改進(jìn)可管理性。
負(fù)載均衡器是Azure SDN堆棧的有機組成部分,為你提供高性能、低延遲的第4層負(fù)載均衡服務(wù),適用于所有UDP和TCP協(xié)議。可以通過定義將入站連接映射到后端池的規(guī)則來配置公共或內(nèi)部負(fù)載均衡的終結(jié)點。通過使用TCP或HTTPS的運行狀況探測監(jiān)視,可幫助你管理服務(wù)可用性。
選擇全局負(fù)載均衡器
選擇是將負(fù)載均衡器還是Azure Front Door用作全局負(fù)載均衡器時,應(yīng)考慮這兩個服務(wù)的異同點。它們均提供以下功能:
多地域冗余:如果一個區(qū)域出現(xiàn)服務(wù)中斷,流量無縫路由到最近的區(qū)域,無需應(yīng)用程序所有者介入。
最近區(qū)域路由:自動將流量路由到最近的區(qū)域
下表描述了流量管理器與Azure前門之間的差異:
我們建議客戶對其HTTP工作負(fù)荷使用前門,因為HTTP與前門一起工作的性能、可操作性和安全優(yōu)勢。流量管理器和Front Door可并行使用,為應(yīng)用程序提供全部流量。
使用Azure的應(yīng)用程序傳送套件進(jìn)行生成
建議所有網(wǎng)站、Api、服務(wù)在地理上都是冗余的,因此,只要可能,它就可以從最近的位置向其用戶提供流量。結(jié)合多個負(fù)載均衡服務(wù),可以構(gòu)建地理和區(qū)域冗余,以最大程度地提高可靠性和性能。
在下圖中,我們將介紹一個示例體系結(jié)構(gòu),它使用所有這些服務(wù)的組合來構(gòu)建全局web服務(wù)。結(jié)構(gòu)設(shè)計師使用流量管理器將流量路由到全局后端進(jìn)行文件和對象傳遞。使用前門時,將與模式/store/*匹配的URL路徑全局路由到它們遷移到應(yīng)用服務(wù)的服務(wù)。最后,將所有其他請求路由到區(qū)域應(yīng)用程序網(wǎng)關(guān)。
在IaaS服務(wù)的每個區(qū)域中,應(yīng)用程序開發(fā)人員已決定與模式/images/*匹配的所有Url都從專用的Vm池提供。此Vm池不同于web場的其余部分。
此外,提供動態(tài)內(nèi)容的默認(rèn)VM池需要與高可用性群集上托管的后端數(shù)據(jù)庫通信。整個部署通過Azure資源管理器進(jìn)行配置。
下圖顯示了此方案的體系結(jié)構(gòu):
應(yīng)用程序傳送套件詳細(xì)體系結(jié)構(gòu)
備注
此示例只是Azure提供的負(fù)載均衡服務(wù)的眾多可能配置之一。可采用最符合負(fù)載均衡需求的方式,混合搭配流量管理器、Front Door、應(yīng)用程序網(wǎng)關(guān)和負(fù)載均衡器。例如,如果不需要進(jìn)行TLS/SSL卸載或第7層處理,則可以使用負(fù)載均衡器來代替應(yīng)用程序網(wǎng)關(guān)。