概述
本文簡介
本卓越架構設計重點介紹了在跨地區、跨境等廣域網路情境下,使用者端(Client)與服務端(Server)之間如何構建一套網路層加速解決方案,以縮短使用者端訪問服務端的時延,提升使用者訪問體驗。該方案可有效解決遊戲、跨境辦公、跨境電商、APP出海等情境中,使用者訪問服務時出現的內容載入慢、內容無法載入以及卡頓等問題。
情境介紹
“加速”是一個常見的詞語,在不同的業務情境下可能帶來不同的效果與影響。它既可能顯著提升使用者體驗和企業生產效率,也可能由於不合理的設計導致使用者體驗下降。因此,針對不同業務情境,設計正確且合理的網路加速方案至關重要。加速方案可以分多種類型:
內容層面:利用CDN和DCDN等技術,通過內容分發和就近緩衝的方式實現快速存取。
服務端層面:通過程式最佳化和資料補償等方式,增強服務端演算法能力以實現加速效果。
用戶端層面:採用MultiPath類方案,通過WIFI、4G、5G等多重路徑切換調度,實現最後一公裡的最優選路。
用戶端-服務端的中間鏈路層面:通過縮短鏈路長度,或提升鏈路傳輸品質,來實現加速效果。
縮短鏈路長度,最佳方法是將業務系統前置部署在儘可能靠近用戶端的位置。其次,利用CDN技術進行內容分發,將常用的靜態內容緩衝在各個分支節點,以便使用者可就近訪問。
提升鏈路傳輸品質,則是通過網路技術的加持,將訪問調度到時延更短、穩定性更高的傳輸鏈路上,使用戶端的請求可以更高效地到達服務端。(本文重點介紹該情境下的方案設計)
推薦使用Global AccelerationGA(Global Accelerator)產品作為網路加速方案的核心。同時,可根據業務情境,按需搭配DDoS、WAF、CDN、DNS等產品,以實現整體方案的落地。
GA作為整體方案的核心,承擔了使用者側就近吸流,加速線路上智能調度,以及服務端穩定串連的重要角色。GA支援4層(TCP/UDP)業務和7層(HTTP/HTTPS)業務,並且無論服務來源站點是否部署在阿里雲上,均可以通過GA快速實現網路加速。
常見問題
GA加速本質:使用者通過公網訪問服務時,存在眾多不確定因素。使用GA可將使用者訪問請求接入阿里雲內網,以提升中間鏈路的可靠性,增強訪問的穩定性,並降低訪問時延。
服務端是否需要修改:服務端程式無需任何修改,配置GA終端節點群組時只需要填入來源站點對外提供服務的公網IP或者公網網域名稱即可;如果來源站點部署在阿里雲上,可以直接選擇對應雲上資源。
如何就近吸流: GA會為每個加速地區自動分配本地的BGP IP,每個GA執行個體會自動產生一個CNAME網域名稱。通過修改DNS系統中的A記錄或者CNAME記錄快速實現流量切換。
如何智能調度:GA內部具備一套調度系統,只需配置業務協議和連接埠,GA即可自動調度最優路徑,將流量傳送至終端節點群組。GA提供智能路由和自訂路由兩種調度方式,以滿足不同業務情境的需求。
相應的產品說明可參考:什麼是Global Acceleration。
設計原則
作為網路加速方案,其核心在於提升訪問速度。因此,在方案設計過程中應全面考慮各項因素,避免因解決當前問題而引入新的問題。本方案的設計重點關注加速方案的穩定性、安全性、效能以及可觀測性,以確保所設計的方案能夠簡單且高效地實施。
設計關鍵點
穩定性
在實施GA加速方案時,大多數穩定性設計已被GA產品考慮在內。設計人員需關注的重點是多產品聯動時的穩定性。
GA產品自身具備端到端的高可靠效能力:
在建立一個加速地區後,控制台上僅顯示兩個公網IP,然而其底層實際上是一個叢集,並且這些公網IP也採用BGP類型。
加速地區與終端節點群組之間通過阿里雲內網進行串連,路徑多樣化,GA產品能夠自動選擇最優路徑。
終端節點群組同樣採用叢集形態,以保證式轉送的可靠性。
需要方案設計者考慮的要點:
加速和非加速鏈路之間的切換方式建議:
如果用戶端通過網域名稱訪問伺服器端,建議修改DNS解析記錄,推薦使用CNAME解析,生效快,並具備某個加速地區故障後的轉移能力;如果使用DNS的A記錄解析,則需要DNS本身具備按地區智能解析的能力,以實現用戶端訪問時的就近吸流。同時,需要考慮DNS TTL到期時間以及瀏覽器緩衝等相關問題。
如果用戶端通過公網IP訪問伺服器端,若用戶端有APP,建議通過版本更新或補丁封裝更新的方式修改預置的來源站點公網IP;若用戶端沒有APP,則可直接更換GA加速地區分配的公網IP。
對於來源站點服務本身的部署建議:
如果來源站點部署在阿里雲上,建議盡量採用叢集部署,根據業務對外服務的協議類型選擇合適的SLB產品來構建叢集系統,並進行後端伺服器的多可用性區域部署。如果業務的重要程度較高,可以考慮多叢集部署,分布在不同的Region,並通過GA產品的流量權重能力進行調度。
如果來源站點不在阿里雲上,同樣也建議實施業務系統的叢集部署。此外,還需考慮兩個方面:首先,來源站點是否對訪問源IP有限制,如有限制,可以從GA控制台擷取終端節點群組出公網IP,並將其加入訪問白名單;其次,在配置GA終端節點群組時,建議開啟健全狀態檢查,以即時探測來源站點的可用性,避免無效的轉寄。
安全性
在使用GA進行加速方案時,安全性設計主要依據來源站點的類型及服務需求。如果業務為網站型,至少需結合使用WAF與GA;如果業務為遊戲型,則至少需考慮將DDoS與GA結合使用。可根據業務的特點、流量轉寄路徑及防護需求等,按需進行組合。以下是幾種常見的模型:
Client -> DDoS -> GA -> WAF -> Server
適用於跨境辦公、跨境電商等業務,易受到DDoS攻擊和Web攻擊。流量首先經過DDoS防護,隨後進行加速,接著通過WAF進行清洗,最後發送至真實的來源站點伺服器。
Client -> GA -> WAF -> Server
適用於跨境電商、官網等Web類服務,易受到Web攻擊,使用者相對分散。可先進行加速,隨後經過WAF清洗,最後送達真實的來源站點伺服器。
Client -> WAF -> GA -> Server
適用於跨境電商、官網等Web類服務,易受到Web攻擊,使用者相對集中。可先進行清洗,隨後加速,最後送達真實的來源站點伺服器。
Client -> DDoS -> GA -> Server
適用於遊戲、APP類業務,易受到DDoS攻擊。可先進行DDoS防護,隨後加速,最後送達真實的來源站點伺服器。
效能&彈性
使用GA實施加速方案時,核心關注點在於加速效果。因此,在方案設計階段,需重點考慮以下幾個方面:
加速地區選擇:應根據實際使用者的分布情況,優先遵循就近原則,其次考慮就大原則。就近原則易於理解,而就大原則指規模大、網路發達的城市節點。例如,當使用者與菲律賓和新加坡的距離相近時,應優先選擇新加坡,因為其本身作為互連網樞紐,基礎網路資源相較於菲律賓更加豐富。
頻寬水位設計:建議設計頻寬利用率為70%,以確保業務流暢轉寄,並具備一定的突發處理能力。
GA產品規格和計費選擇:
對於彈性要求較高的業務,其頻寬波峰和波穀較大,推薦採用隨用隨付模式。該付費模式包括GA執行個體的按CU計費,以及頻寬部分的按流量計費。按CU計費時,所有加速地區叢集的處理效能將隨業務波動自動Auto Scaling;而按流量計費時,使用者進入加速地區的公網流量、加速地區到終端節點群組之間的跨地區內網流量以及終端節點群組出雲的公網流量,都將自動按流量計費。使用者只需根據業務波峰設定加速地區的頻寬峰值,並確保預留充足的緩衝,以滿足最大的彈效能力。
對於流量相對平穩的業務,其頻寬波峰和波穀較小,建議選擇訂用帳戶的付費模式。根據業務並發量和頻寬需求,選擇相應的執行個體規格和頻寬包。
可觀測
使用GA實施加速方案時,加速效果的衡量、訪問資料量大小以及營運排障等,均需要觀測能力。GA和周邊聯動的產品均會在控制台提供相關的營運監控能力,比如頻寬曲線、訪問日誌、動作記錄等。如果需要自動化的營運能力,可以使用CloudMonitor,配置相關的監控和警示能力。比如選擇按頻寬費用的使用者,可以配置頻寬利用率的警示,設定對應的利用率警示閾值,當流量波動觸發閾值後,系統會自動通知營運人員,及時升配頻寬,避免業務受損。
自動化營運:可以使用CloudMonitor配置警示管理,監控加速地區/終端節點群組(出入頻寬變化、出入丟包率、出入包速率、出入頻寬利用率等指標),並配置閾值,觸發警示。
故障排查:可以使用GA的動作記錄排查是否存在誤操作;使用訪問日誌分析使用者訪問不通的情況;使用CloudMonitor觀察通道時延指標(加速地區-終端節點群組的時延)以評估轉寄是否符合預期效果。
應用情境介紹
遊戲情境
遊戲是對即時互動性要求最高的情境,通常會通過分區分服、大區同服等方式部署遊戲伺服器,但無論如何,玩家都希望能夠獲得絲滑的操作體驗,以及即時的技能輸出。從遊戲類型來看,MOBA和射擊類遊戲對網路時延的要求最高。從遊戲部署架構的角度分析,在大區同服等覆蓋範圍較大的情況下,網路層面也需針對時延進行相應的補償。
無論是平台服還是戰鬥服,無論是4層(TCP/UDP)業務還是7層(HTTP/HTTPS)業務,無論遊戲服的來源站點是否部署在阿里雲上,均可利用GA實現網路加速。同時,可以根據需求靈活搭配DDoS、WAF、CDN、DNS等服務,以實現整體方案的落地。
推薦使用隨用隨付,GA執行個體使用CU隨用隨付,跨地區頻寬使用按流量計費。無需考慮每個加速地區的頻寬大小分配,完美契合遊戲情境大波峰波穀的流量模型特點。
當然,針對卡牌、電競、5v5對戰等品類,會涉及海量IP相同連接埠的部署模型,推薦使用GA產品的自訂路由方案,輕鬆滿足加速需求,提升玩家遊戲體驗。
跨境辦公情境
企業在“一帶一路”倡議下出海,或外企在華髮展過程中,都會面臨跨境使用郵箱、OA、ERP等各類辦公系統的挑戰。員工需要辦公系統能快速響應以提高工作效率。由於涉及生產相關資料,不能通過公網傳輸,雖然VPN可能提供一定的解決方案,但由於地理距離的影響,連線速度慢、下載緩慢以及資料上傳延遲,都會嚴重影響辦公效率和體驗。
根據員工的地區分布選擇就近的加速地區,辦公流量的大小相對固定,波峰波穀小,推薦使用按頻寬計費,更具性價比。
同時可以和WAF等安全產品結合,提升效率的同時,可保證資料安全。
跨境電商情境
隨著生活品質的提高,消費者普遍傾向於在全球範圍內進行貨比三家,且具備相應的條件。同時,某些電商專註於特定細分行業,以高品質的商品吸引來自全球的顧客。然而,部分顧客與網站伺服器之間的距離較遠,甚至涉及跨境交易,從而導致公網訪問體驗難以得到保障。這不僅可能導致購物體驗不佳,甚至可能引發下錯單、付錯款等問題,這無論是哪種情況都極為麻煩。
可以根據使用者的分布情況,按需開通對應地區內的加速地區。同時,可以根據網站的流量波形圖選擇合適的計費方式:波峰波穀小,建議選擇按頻寬計費;波峰波穀大,建議選擇按流量計費。
因為電商網站既有靜態圖片和文字介紹,也有動態視頻和庫存更新等,因此可以考慮和CDN產品結合,靜態內容通過CDN本機快取,動態內容通過GA的加速線路回源到來源站點。
APP出海情境
在移動互連網時代,APP已成為每個人手機空間的主要組成部分。當使用者離開常住地,出國旅遊、工作等,對於APP的使用需求並不會降低。
可以根據APP登入的熱圖,選擇作用區以部署GA的加速地區,當使用者嘗試串連APP伺服器時,GA會根據使用者分布情況返回相應的加速IP,從而使使用者通過加速線路和APP伺服器進行互動,顯著提升使用體驗。
Terraform參考
GA加速廣域網路
專案 | 說明 |
Terraform Module官網地址 | |
Github 地址 | |
樣本地址 |
代碼流程:
建立GA執行個體與EIP執行個體。
配置GA執行個體加速EIP,並針對不同加速地區配置不同的頻寬峰值。
需要建立的執行個體如下:
1個GA執行個體
2個EIP執行個體
GA加速遊戲平台服
專案 | 說明 |
Terraform Module官網地址 | |
Github 地址 | |
樣本地址 |
代碼流程:
建立GA執行個體。建立VPC與交換器,並在其中建立ALB執行個體,ALB後端伺服器掛載ECS。
配置GA執行個體加速ALB。
需要建立的執行個體如下:
1個GA執行個體
1個VPC執行個體
2個交換器
1個ALB執行個體
2個ECS執行個體