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