全域流量管理(GTM)支援使用者就近接入、高並發負載平衡、健全狀態檢查與故障切換,可以協助企業在短時間內構建同城多活與異地災備的容災架構。同時GTM支援管理阿里雲和非阿里雲IP地址,能夠方便企業客戶快速構建混合雲應用的災備。
GTM屬於DNS層級的服務,使用DNS向使用者返回特定的服務地址,然後用戶端使用者直接連接到服務地址。所以GTM本身並不是代理或網關裝置,也不是應用接入服務,因此看不到用戶端使用者與應用服務之間網路流量。
開通GTM產品執行個體後,系統會自動分配一個CNAME接入網域名稱,所以需要將使用者訪問的業務網域名稱CNAME至全域流量管理的執行個體網域名稱,才能最終實現對應用服務進行容災、智能接入。
產品原理
例如網站服務是www.example.com
①開通GTM執行個體後,系統自動分配了一個CNAME接入網域名稱gtm12345678.gtm-000.com。
②為GTM執行個體添加3個伺服器IP地址1.1.XX.XX、2.2.XX.XX、3.3.XX.XX,並開啟健全狀態檢查。
③將網站服務www.example.comCNAME指向gtm12345678.gtm-000.com.
原理流程圖解
原理流程說明
終端向本地遞迴DNS系統查詢應用服務網域名稱www.example.com。
假設本地遞迴DNS系統沒有www.example.com的緩衝,那麼本地遞迴DNS會向DNS根伺服器發送此網域名稱的DNS查詢請求。同時DNS根伺服器,會根據查詢網域名稱的尾碼,向本地遞迴DNS伺服器響應.com所在的DNS伺服器。
本地遞迴DNS收到DNS根響應的.comDNS伺服器位址後,會向.comDNS伺服器發起www.example.com的網域名稱查詢請求。同時.comDNS伺服器收到請求,會向本地遞迴DNS伺服器響應example.com所在的DNS伺服器,如果網域名稱使用了雲解析服務,那麼這個DNS伺服器就是雲解析的DNS伺服器。
本地遞迴DNS收到.comDNS伺服器響應的Alibaba Cloud DNS伺服器位址後,再次向Alibaba Cloud DNS伺服器發起www.example.com查詢請求,同時Alibaba Cloud DNS伺服器收到DNS查詢請求後,在自己的資料庫中發現www.example.com通過CNAME指向了網域名稱gtm12345678.gtm-000.com,因此Alibaba Cloud DNS伺服器會向本地遞迴DNS響應gtm12345678.gtm-000.com。
本地遞迴DNS收到Alibaba Cloud DNS響應的gtm12345678.gtm-000.com網域名稱後,會再次向全域流量管理的DNS伺服器發起gtm12345678.gtm-000.com查詢,同時全域流量管理在收到請求後,會根據運行機制和預配置策略向本地遞迴DNS響應最終應用服務的地址。
本地遞迴DNS伺服器將最後一次查詢獲得的IP地址作為www.example.com的最終地址,返回給終端使用者,同時緩衝在本地,方便下次使用者查詢可以直接返回結果。
終端使用者收到本地遞迴DNS伺服器響應的IP地址後,直接嚮應用服務發起網路連接,開始進行業務通訊。
產品架構
產品架構圖解
產品架構說明
請根據產品架構圖來看下文的說明
GTM系統中的DNS模組,是實現將終端使用者訪問解析到應用服務的主位址集區集合和備位址集區集合。其中,設定中國內地地區使用者訪問主位址集區集合的應用服務、境外地區使用者訪問備位址集區集合的應用服務,並且兩個位址集區集合設定互為主備。
GTM系統中的HeathCheck模組,會從多個地區對位址集區內的多個應用服務地址發起健康探測,健康探測可以使用ping、tcp、http(s)三種方式。
當主位址集區集合中,有一個應用服務地址出現故障時,HeathCheck模組會準確的檢測到異常情況,同時HeathCheck模組會和DNS模組進行互動,最終是通過DNS模組將異常地址從向使用者返回的應用服務地址清單中暫時刪除;如果HeathCheck模組檢測到應用服務的地址恢複正常,則DNS模組會將此地址恢複至應用服務的地址清單中並返回給使用者。
假如主位址集區集合在出現了位址集區集合整體故障的情況,GTM則會根據預先配置的備位址集區集合和生效位址集區集合的切換策略,將中國內地地區使用者的訪問流量切換到備位址集區集合上“secondaryAddresspoolSet”。反之,如備位址集區集合出現整體故障情況,GTM則將境外使用者的訪問流量切換到主位址集區集合上“primaryAddressPoolSet”。
因此,終端使用者訪問時可以通過全域流量管理系統自動的擷取最佳的應用服務,並保障使用者訪問的連續不中斷。