容災(zāi)切換必備——阿里云全局流量管理介紹

來源:云棲號
作者:云棲號
時間:2020-08-17
6724
全局流量管理(Global Traffic Manager,以下簡稱 GTM),是阿里云在19年推出的一款產(chǎn)品。DNS 是當(dāng)今互聯(lián)網(wǎng)領(lǐng)域最常見的流量調(diào)度方式, 隨著分布式服務(wù)技術(shù)的發(fā)展,主備部署、異地多活等多節(jié)點架構(gòu)逐步成為主流。

如今人們對互聯(lián)網(wǎng)服務(wù)的依賴越來越重,提供低延時高可用的服務(wù)成為越來越多互聯(lián)網(wǎng)服務(wù)廠商的迫切需求。您是否也遇到過以下問題:

1、需要降低網(wǎng)絡(luò)耗時,卻不知道怎么實現(xiàn)用戶服務(wù)的就近訪問?

2、需要對服務(wù)進行灰度驗證,卻不知道如何控制各個節(jié)點的流量比重,不知道如何資源分配?

3、知道保障服務(wù)的可用性非常重要,卻在遇到故障時,不知道如何快速將流量引流到其他可用節(jié)點?

您需要全局流量管理產(chǎn)品來幫助您排憂解難。

什么是全局流量管理

全局流量管理(Global Traffic Manager,以下簡稱GTM),是阿里云在19年推出的一款產(chǎn)品。DNS是當(dāng)今互聯(lián)網(wǎng)領(lǐng)域最常見的流量調(diào)度方式,隨著分布式服務(wù)技術(shù)的發(fā)展,主備部署、異地多活等多節(jié)點架構(gòu)逐步成為主流。對業(yè)務(wù)流量進行有效的調(diào)度管理,以達到服務(wù)低延時高可用的目的就顯得尤為重要。根據(jù)對阿里經(jīng)濟體多年的流量調(diào)度管理經(jīng)驗,以及在眾多業(yè)務(wù)場景(容災(zāi)切換,大規(guī)模遷站,經(jīng)濟體上云等)中的實踐,全局流量管理應(yīng)運而生,能夠幫助用戶高效地管理業(yè)務(wù)流量。

GTM原理

GTM本質(zhì)上是通過DNS實現(xiàn)流量調(diào)度,底層服務(wù)使用的是“云解析DNS”和“云監(jiān)控”兩款產(chǎn)品,集成了DNS的智能解析功能、云監(jiān)控的應(yīng)用服務(wù)監(jiān)控功能,為客戶輸出不同網(wǎng)絡(luò)或地區(qū)用戶訪問實現(xiàn)就近接入、應(yīng)用服務(wù)運行狀態(tài)的健康檢查、故障自動切換等能力。

ia_2500000005.png

圖1:GTM原理圖

GTM會為用戶提供一個CNAME接入域名(類似CDN的接入域名,用戶需要將自己的業(yè)務(wù)域名CNAME到該接入域名上來使用GTM的功能)并需要用戶配置地址池(Pool)。

一個地址池,代表一組提供相同應(yīng)用服務(wù),一般是具備相同運營商或地區(qū)(region)屬性的IP地址或域名地址。

然后通過訪問策略配置,將接入域名和地址池進行關(guān)聯(lián),GTM支持按照運營商或地域維度解析到某個地址池,地址池中的地址支持負(fù)載均攤和加權(quán)輪詢的策略。

最后通過開啟健康檢查(HealthCheck)來對地址池中的地址進行可用性監(jiān)控。當(dāng)某個地址不可用時,會自動隔離該地址;當(dāng)GTM認(rèn)為整個地址池不可用時會自動切換到備用地址池。

從概念和原理上,GTM容易和負(fù)載均衡(SLB)以及云解析全局負(fù)載均衡(GSLB)混淆。

全局流量管理(GTM)和負(fù)載均衡(SLB)的區(qū)別:

微信圖片_20200817101224.png

GTM功能特性

地址池:

傳統(tǒng)DNS解析到單個地址,而GTM則引入地址池概念。通過地址池可對應(yīng)用服務(wù)的IP地址進行統(tǒng)一管理。實現(xiàn)將終端用戶訪問解析到應(yīng)用服務(wù)地址池,既可實現(xiàn)高負(fù)載情況下的流量均攤,又可實現(xiàn)自定義流量分配。同時當(dāng)?shù)刂烦卣w不可用時,可以做備份切換。

訪問策略:

訪問策略旨在解決根據(jù)請求來源和地址池健康情況進行地址池切換的問題。既能做到地址池緯度智能解析,又可實現(xiàn)故障自動切換功能。

GTM對中國的4大運營商、7大區(qū)域、海外6大洲進行智能DNS解析,可以實現(xiàn)來源于不同網(wǎng)絡(luò)或區(qū)域的用戶訪問者實現(xiàn)就近接入,提高訪問速度。

當(dāng)?shù)刂烦卣w出現(xiàn)故障時,GTM會根據(jù)用戶自定義策略進行地址池分鐘級切換,并當(dāng)?shù)刂烦鼗謴?fù)時切回。

健康檢查:

依托于云監(jiān)控強大的分布式監(jiān)控功能,GTM新增了HealthCheck模塊,從多個地區(qū)對地址池內(nèi)的多個應(yīng)用服務(wù)IP地址發(fā)起健康探測,目前已支持http/https、tcp、ping三種方式。當(dāng)?shù)刂烦刂械刂钒l(fā)生故障時HealthCheck模塊會準(zhǔn)確的檢測到異常情況并與DNS交互,摘除故障地址。并當(dāng)故障地址恢復(fù)時,自動恢復(fù)至解析返回列表。

經(jīng)過測試團隊對GTM多次測試驗證,當(dāng)應(yīng)用服務(wù)發(fā)生故障時,GTM能在5分鐘內(nèi)將應(yīng)用服務(wù)的90%左右的流量切換成功。GTM的故障切換生效時間=故障發(fā)現(xiàn)時間+DNS切換同步時間。

故障發(fā)現(xiàn)時間:目前默認(rèn)的健康檢查配置可以在故障的3分鐘左右準(zhǔn)確發(fā)現(xiàn)故障;

DNS切換同步時間:目前GTM的cname接入域名TTL設(shè)置為60秒,理論上域名切換后60秒內(nèi)可以生效,但實際情況取決于全國各地運營商的緩存設(shè)置時間。

應(yīng)用場景

接下來以異地雙活為例介紹如何借助GTM實現(xiàn)快速容災(zāi)切換。如下圖所示,某服務(wù)的用戶主要分為海外用戶和國內(nèi)用戶,后端服務(wù)采用一套部署方案。通過GTM對不同地區(qū)用戶請求進行智能調(diào)度,將用戶訪請求流量路由至不同的接入服務(wù)點,即海外用戶訪問新加坡中心(Singapore),國內(nèi)用戶訪問杭州中心(CN-Hangzhou)。當(dāng)某站點發(fā)生故障災(zāi)難時,各接入站點自建互相備份,最終實現(xiàn)業(yè)務(wù)的高可用。

ia_2500000006.png

圖2:GTM在異地多活中的應(yīng)用

五步快速接入GTM,實現(xiàn)異地容災(zāi):

(1)全局配置:

基礎(chǔ)配置,主要配置負(fù)載均衡策略、全局TTL、報警通知組等相關(guān)信息。

(2)地址池配置:

新建地址池Singapore和CN-Hangzhou。每個地址池中均配置該區(qū)域下多個服務(wù)IP,以及最小可用地址數(shù)量。當(dāng)?shù)刂烦卮婊畹刂窋?shù)小于該地址池數(shù)量時,則地址池視為不可用。此外,根據(jù)全局配置中負(fù)載均衡策略自動實現(xiàn)流量分配。

(3)開啟健康檢查

即對地址池中的IP地址配置健康檢查,開啟后可實現(xiàn)實時監(jiān)測地址的可用性狀態(tài)。根據(jù)地址的可用性進行故障自動隔離,并通知相應(yīng)報警組。當(dāng)?shù)刂坊謴?fù)后,自動添加至解析列表。此外,當(dāng)?shù)刂烦卣w出現(xiàn)問題時,觸發(fā)默認(rèn)地址池與備用地址池之間自動切換。

(4)訪問策略配置

根據(jù)用戶的請求來源設(shè)置最終用戶訪問哪一個地址池。如圖2所示,海外用戶希望訪問Singapore地址池,則需設(shè)置相應(yīng)訪問策略,請求來源設(shè)置海外地區(qū),默認(rèn)地址池為Singapore,備用地址池設(shè)置CN-Hangzhou。則正常請求下,則海外用戶訪問Singapore中心,發(fā)生故障后會快速切換至CN-Hangzhou中心。

(5)CNAME接入配置

需要將用戶訪問的主域名CNAME至全局流量管理的實例域名,才能最終實現(xiàn)對應(yīng)用服務(wù)進行容災(zāi)、智能接入。即將圖中的www.cloud-example.com CNAME到我們提供的接入域名。

配置完成后,GTM將根據(jù)健康配置實時探測地址池中地址,當(dāng)?shù)刂钒l(fā)生報警時,則根據(jù)圖3的流程進行判斷,實現(xiàn)容災(zāi)切換,以圖2中IP地址A報警為例。由此可見,當(dāng)默認(rèn)地址池(Singapore)地址池可用時,則解析列表摘除地址A,當(dāng)默認(rèn)地址池整體不可用時則切換備用地址池(CN-Hangzhou),切換過程自動完成,并縮小時間至分鐘級。從而有效保證異地容災(zāi)的切換效率。

ia_2500000007.png

圖3:故障流程切換

原文鏈接:點擊前往 >
版權(quán)說明:本文內(nèi)容來自于云棲號,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家