本實戰是一個中等複雜度的綜合性實戰,涉及到的內容有TrafficManager,AzureFunctions,域名/域名解析等幾個內容。後端
本案例買免費視頻基礎介紹:api
https://www.bilibili.com/video/av86424146?p=1
網絡
本案例免費實戰視頻:app
https://www.bilibili.com/video/av86424146?p=2
ide
Azure上認知服務(人臉,語音,翻譯等)不少對外提供API的訪問方式,若是我須要作一個全球型的人臉識別或者翻譯的項目,則可能最終會在Global多個區域部署相應的認知服務,人臉識別設備或者翻譯app訪問最靠近用戶的區域的認知服務便可最快的獲得響應。性能
其中將用戶導流向最靠近用戶的區域的服務爲TrafficManager;測試
TrafficManager的設計原理致使了它最終給到用戶的是後端服務的IP地址而不是進行流量/請求轉發,因此,若是最終你要訪問的網站或API或者認知服務不能經過 IP方式訪問或者不可以設置使用自定義域名訪問,則可經過本案例的方式,即用Azure Functions 做爲代理,經過配置自定義域名的方式間接訪問你的目標。網站
假設你有一個API,該API 部署在了 IP地址爲 A的一臺虛擬機上,經過設置主機頭,致使了該API只能經過域名的形式訪問,好比域名設置成了api.5gn.link, 而且不能經過 IP 地址 A 進行訪問。本案例適用於這種狀況,案例中咱們使用了AzureFunctions,但實際上並非惟一選擇,也可使用VM等支持設置自定義域名的服務便可。阿里雲
全文請參見:spa
《Azure Traffic Manager- 能夠在全球 Azure 區域內以最佳方式分發流量》
流量管理器-性能方式:
在國家或區域的兩個或更多位置部署終結點,將流量路由到「最靠近」你的位置,便可改善許多應用程序的響應能力。 「性能」流量路由方法提供這種能力。
「最靠近」的終結點不必定是地理距離最近的終結點。 「性能」流量路由方法經過測試網絡延遲來肯定最靠近的終結點。 流量管理器維護一份Internet 延遲表,用於跟蹤 IP 地址範圍與每一個 Azure 數據中心之間的往返時間。
流量管理器在 Internet 延遲表中查找傳入 DNS 請求的源 IP 地址。 而後,流量管理器在處理該IP 地址範圍的請求時具備最低延遲的Azure 數據中心內選擇一個可用終結點,並在DNS 響應中返回該終結點。
流量管理器按期更新 Internet 延遲表,反映全國 Internet 的變化以及新的 Azure 區域。 可是,因爲Internet 上的負載會實時變化,應用程序性能也會隨之變化。 「性能」流量路由不會監視給定服務終結點上的負載。 可是,若是某個終結點變得不可用,則流量管理器不會在DNS 查詢響應中包括該終結點。
本案例示意圖:
本案例前置條件:
擁有控制權並備案的域名,本文以5gn.link作爲演示,該域名託管在阿里雲。
1. 在中國區建立 流量管理器,functionproxy.trafficmanager.cn,配置爲TCP, 443;
2.在中國區建立Functions,chinafunction.chinacloudsites.cn;(略,在UkSouth 和WestUS2 分別建立Functions)
3. 通過Portal 修改 Functions,建立簡單的Http觸發的Functions(實際上Functions應該調用對應區域的認知服務或自定義API)
4.爲Functions設置自定義域名 api.5gn.link
5. 申請SSL證書,並配置到Functions上
6.將流量管理器終結點中添加 chinafunction.chinacloudsites.cn(略,UKSouth和WestUS2)
在公衆號閱讀文章:https://mp.weixin.qq.com/s/ymRR_Boz13uEOg_9OUgWTA