容災切換必備 全域性流量管理介紹

2022-01-10 15:02:01 字數 2818 閱讀 1037

如今人們對網際網路服務的依賴越來越重,提供低延時高可用的服務成為越來越多網際網路服務廠商的迫切需求。您是否也遇到過以下問題:

1、需要降低網路耗時,卻不知道怎麼實現使用者服務的就近訪問?

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

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

您需要全域性流量管理產品來幫助您排憂解難。

全域性流量管理(global traffic manager,以下簡稱 gtm),是阿里雲在19年推出的一款產品。dns 是當今網際網路領域最常見的流量排程方式, 隨著分布式服務技術的發展,主備部署、異地多活等多節點架構逐步成為主流。對業務流量進行有效的排程管理,以達到服務低延時高可用的目的就顯得尤為重要。根據對阿里經濟體多年的流量排程管理經驗,以及在眾多業務場景(容災切換,大規模遷站,經濟體上雲等)中的實踐,全域性流量管理應運而生,能夠幫助使用者高效地管理業務流量。

gtm 本質上是通過 dns 實現流量排程,底層服務使用的是「雲解析dns」和「雲監控」兩款產品,整合了dns的智慧型解析功能、雲監控的應用服務監控功能,為客戶輸出不同網路或地區使用者訪問實現就近接入、應用服務執行狀態的健康檢查、故障自動切換等能力。

圖1: gtm原理圖

gtm 會為使用者提供乙個 cname 接入網域名稱(類似 cdn 的接入網域名稱,使用者需要將自己的業務網域名稱 cname 到該接入網域名稱上來使用 gtm 的功能)並需要使用者配置 位址池(pool)。

從概念和原理上,gtm 容易和負載均衡(slb)以及雲解析全域性負載均衡(gslb) 混淆。

對比項網路層

後端位址

加權輪詢

跨region難度

故障間隔時間

會話保持

gtm3 層

網域名稱、ip

支援簡單

分鐘級不支援

slb4層、7層

ip支援

困難秒級

支援表1:gtm 與 slb 對比

兩者的對比如下表所示:

對比項服務接入

健康檢查

故障切換時間

多線路接入

鏈路互備

gtmcname 接入

分鐘級,不受子網域名稱 ttl 限制

電信、聯通、移動、鵬博士

故障自動切換,可控

gslb

子網域名稱開啟

不支援受子網域名稱ttl 限制

不支援隨機選擇正常鏈路,不可控

表2:gtm 與 gslb 對比

傳統dns解析到單個位址,而gtm則引入位址池概念。通過位址池可對應用服務的ip位址進行統一管理。實現將終端使用者訪問解析到應用服務位址池,既可實現高負載情況下的流量均攤,又可實現自定義流量分配。同時當位址池整體不可用時,可以做備份切換。

訪問策略旨在解決根據請求**和位址池健康情況進行位址池切換的問題。既能做到位址池緯度智慧型解析,又可實現故障自動切換功能。

gtm對中國的4大運營商、7大區域、海外6大洲進行智慧型dns解析,可以實現**於不同網路或區域的使用者訪問者實現就近接入,提高訪問速度。

當位址池整體出現故障時,gtm會根據使用者自定義策略進行位址池分鐘級切換,並當位址池恢復時切回。

接下來以異地雙活為例介紹如何借助gtm實現快速容災切換。如下圖所示,某服務的使用者主要分為海外使用者和國內使用者,後端服務採用一套部署方案。通過gtm對不同地區使用者請求進行智慧型排程,將使用者訪請求流量路由至不同的接入服務點,即海外使用者訪問新加坡中心(singapore),國內使用者訪問杭州中心(cn-hangzhou)。當某站點發生故障災難時,各接入站點自建互相備份,最終實現業務的高可用。

圖2: gtm 在異地多活中的應用

五步快速接入gtm,實現異地容災:

(2)位址池配置:

新建位址池singapore和cn-hangzhou。每個位址池中均配置該區域下多個服務ip,以及最小可用位址數量。當位址池存活位址數小於該位址池數量時,則位址池視為不可用。此外,根據全域性配置中負載均衡策略自動實現流量分配。

(3)開啟健康檢查

即對位址池中的ip位址配置健康檢查,開啟後可實現實時監測位址的可用性狀態。根據位址的可用性進行故障自動隔離,並通知相應報警組。當位址恢復後,自動新增至解析列表。此外,當位址池整體出現問題時,觸發預設位址池與備用位址池之間自動切換。

(4)訪問策略配置

根據使用者的請求**設定終端使用者訪問哪乙個位址池。如圖2所示,海外使用者希望訪問singapore位址池,則需設定相應訪問策略,請求**設定海外地區,預設位址池為singapore,備用位址池設定cn-hangzhou。則正常請求下,則海外使用者訪問singapore中心,發生故障後會快速切換至cn-hangzhou中心。

(5)cname接入配置

需要將使用者訪問的主網域名稱cname至全域性流量管理的例項網域名稱,才能最終實現對應用服務進行容災、智慧型接入。即將圖中的www.cloud-example.com cname到我們提供的接入網域名稱。

配置完成後, gtm將根據健康配置實時探測位址池中位址,當位址發生報警時,則根據圖3的流程進行判斷,實現容災切換,以圖2中ip位址a報警為例。由此可見,當預設位址池(singapore)位址池可用時,則解析列表摘除位址a,當預設位址池整體不可用時則切換備用位址池(cn-hangzhou),切換過程自動完成,並縮小時間至分鐘級。從而有效保證異地容災的切換效率。

mysql容災方案 mysql 架構 異地容災

一 簡介 我們來 下多機房下的mysql架構 二 目的 首先要清楚你的目的 1 實現異地機房的容災備份 2 實現異地機房的雙活 三 敘說 1 實現異地機房的容災備份 目的 只是將資料備份到異地,當第一機房發生故障時,能最大可能的保留資料.實現冗餘效果 業務 核心業務在第一機房,第二機房和第一機房都共...

mysql 容災 災備 備份

1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

容災系統簡介

一 什麼是容災?廣義上,我們可以把所有與業務連續性相關的內容都納入容災。容災是乙個系統工程,它包括支援使用者業務的方方面面。而容災對於it 而言,就是提供乙個能防止使用者業務系統遭受各種災難影響破壞的計算機系統。容災還表現為一種未雨綢繆的主動性,而不是在災難發生後的 亡羊補牢 從狹義的角度,為了達到...