一、概念辨析:網路延遲與網路波動
(1) 網路延遲 網路延遲是指各式各樣的資料在網路介質中通過網路協議(如TCP/IP)進行傳輸,如果資訊量過大不加以限制,超額的網路流量就會導致設備反應緩慢,造成網路延遲,受限于光速,網路延遲總是有一個下限,是無法超越物理極限的,(2) 網路波動(丟包率)
網路波動,就是Flipping,一般在廣域網才會提到,是由于線路的不穩定,出現時通時斷或瞬斷的現象,Flipping是會經常出現、不可避免的,這就需要路由協議對這種現象較好地處理,網路設計和除錯人員,在設計和設備配置時,也可以采用多種技術,避免這種現象出現,提高網路的容錯能力,
二、加速方案
當前網路加速實作方案和加速產品努力的方向都是:
- 盡可能把服務器放在離玩家物理距離近的地方
- 把長距離公網傳輸改為穩定的內網傳輸
方案一:縮短玩家與服務器間的物理距離
| 產品 | 服務商 |
|---|---|
| 內容分發網路 CDN(靜態CDN服務) | 騰訊云 |
| 海外加速 GCD(騰訊云CDN的海外版) | 騰訊云 |
| CDN(靜態CDN服務) | 阿里云 |
| CloudFront(靜態+動態內容加速) | AWS |
不難看出,靜態CDN服務是縮短玩家與服務器間的物理距離的主流方案,
方案二:把長距離公網傳輸改為穩定的內網傳輸
| 產品 | 服務商 |
|---|---|
| 全站加速(靜態+動態內容加速) | 阿里云 |
| CloudFront (靜態+動態內容加速) | AWS |
| GAAP(全球應用加速 ) | 騰訊云 |
| IP應用加速(全球應用加速) | 阿里云 |
| Anycast公網加速AIA(Anycast) | 騰訊云 |
| Global Accelerator(Anycast) | AWS |
相比于“縮短玩家與服務器間的物理距離”,將長距離公網傳輸改為穩定的內網傳輸方案催生下的產品更加多樣,大致可以歸類為動態內容加速、全球應用加速和Anycast三種,
三、技術方案
(1) 靜態CDN服務
CDN(Content Delivery Network)內容分發網路,將網站內容發布到最接近用戶的邊緣節點,使網民可就近取得所需內容,有效解決互聯網網路擁塞狀況,提高網民訪問的回應速度和成功率,靜態CDN服務以圖片、頁面、js、css、大檔案安裝包等靜態檔案加速為主,主要原理是通過在現有的Internet中增加一層新的網路架構,將網站的內容發布到最接近用戶的cache服務器內,通過DNS負載均衡的技術,判斷用戶來源就近訪問cache服務器取得所需的內容,解決Internet網路擁塞狀況,提高用戶訪問網站的回應速度,如同提供了多個分布在各地的加速器,以達到快速、可冗余的為多個網站加速的目的,
1)解決由于地域、帶寬、運營商接入等問題帶來的跨網訪問問題
2)結合DNS調度系統,將用戶的請求分配至最適合他的節點,提升用戶的訪問速度
3)中心節點收斂回源,降低回源且提升命中率,減輕源站壓力
4)隱藏源站,提供大帶寬接入,降低源站被攻擊的風險
5)提供存盤方案,解決業務線檔案存放問題
一般的網站如果服務器在網通,電信用戶訪問很慢,如果服務器在電信,網通用戶訪問又很慢,因此國內訪問量較高的網站、直播、視頻平臺,均使用CDN網路加速技術,雖然網站的訪問巨大,但無論在什么地方訪問都會感覺速度很快,
- CDN是只對網站的某一個具體的域名加速,如果同一個網站有多個域名,則訪客訪問加入CDN的域名獲得加速效果,訪問未加入CDN的域名,或者直接訪問IP地址,則無法獲得CDN效果,
- CDN的實作需要依賴多種網路技術的支持,其中最主要的包括負載均衡技術、動態內容分發與復制技術、快取技術等,
- asp,php,jsp等動態技術做成的頁面將不被CDN快取,因此面對即時性要求很高的網頁和圖片,可以使用動態頁面,或者采用一個網站兩個域名,一個啟用CDN,另外一個域名不用CDN,對即時性要求高的頁面和圖片放在不用CDN的域名下,
(2) 動態內容加速
所謂的動態內容加速,是指用戶在請求一些動態內容時,如網站中的.asp、.jsp、.php和.cgi介面、API介面等,不直接請求源站,而是由基于地理位置的DNS調度,請求最靠近用戶的云服務節點,再由云服務節點通過優化過的傳輸網路(公網,但比普通BGP更優化的鏈路),轉發請求到源站,達到優化和加速的目的,當然這其中有很多其他的傳輸層面的優化,比如訪問鏈路優化、傳輸內容壓縮合并、智能選路、鏈路復用等技術,
- 我們可以看到,靜態加速和動態加速,都依賴基于地理位置的DNS服務,這類服務,能夠根據用戶的地理位置,回傳最優的接入IP,我們稱之為GeoDNS,這種服務在AWS叫Route 53,其他廠商也能提供類似服務,
(3) 全站加速【動態+靜態加速】
當前騰訊、阿里和AWS的都支持動靜態內容混合加速,即靜態內容直接由邊緣節點(靜態CDN)回傳,動態請求走內網代理轉發到源站,AWS更是把動靜態加速直接合并為一個服務Amazon CloudFront,統一計費,
| CDN | 全站加速和CloudFront | |
|---|---|---|
| 資源型別 | 僅支持靜態內容加速 | 支持靜態內容和動態內容同時加速 |
| 加速方式 | 將服務器上的靜態內容快取在CDN節點上供用戶就近訪問, | 靜態內容使用CDN加速,動態內容通過智能路由、協議優化等動態加速技術快速訪問服務器源站獲取, |
| 源站適配 | 建議對服務器源站的動靜態內容進行分離,靜態內容使用CDN加速,動態內容不使用CDN, | 無需對服務器源站上的資源進行改造,全站加速會智能區分動靜態內容并分別加速, |
CVM(Cloud Virtual Machine 云虛擬機)是普遍的虛擬云服務器統稱云服務器;ECS(Elastic Compute Service 彈性計算服務)是一個計算機集群多臺一起虛擬一個環境,架設了一個云系統,云系統可以按需分配CPU記憶體硬碟等資源,VPS(Virtual Private Server 虛擬專用服務器)是使用一臺服務器,虛擬一個環境,并架設虛擬系統,主要區別是VPS的宿服務器如果有硬體或者軟體故障,會導致這個宿主機內的VPS主機全部宕機,ECS不會因為單臺宿主機故障導致整體或者某臺云主機宕機,這里我們可以將ECS理解為vps或站點的服務器,
(4)全球應用加速GAAP
GAAP的本質,是在加速區域入口和源站區域出口,各部署一套轉發集群,把長距離公網傳輸改為自建的內網傳輸,從而實作加速的效果,阿里云的IP應用加速類似于騰訊云的全球應用加速 GAAP產品,基于位置的DNS服務支持,按地區回傳給用戶最近的接入IP,通過GAAP創建的內網加速傳輸通道把資料轉發到服務器,

GAAP有一個特點,就是客戶端和服務端,都可以不是騰訊云的機器,只需要離騰訊云的節點足夠近即可,這種優勢,大大提升了GAAP的應用場景,當然GAAP的費用比普通的公網帶寬要貴很多,業務是否選擇使用,還需要綜合考慮成本因素,GAAP中經過的節點很多,配置較為復雜,
(5)Anycast 公網加速 AIA
`Anycast 公網加速 AIA`是使用了一個叫`Anycast`的技術,Anycast又叫任播,是指一個發送方同最近的一組接收方之間的通信,當一個單播地址被分配到多于一個的介面上時,發到該介面的報文被網路路由到由路由協議度量的最近的目標介面上,
騰訊云的Anycast公網加速 AIA和AWS的Global Accelerator實際上是同樣的產品,在騰訊云上,Anycast做到的效果是,用戶的公網請求在騰訊云就近節點進入,提高傳輸環節的質量,本質上還是基于一個公網IP,在尋址環節采用任播,原理為,普通的IP是單播尋址,全程走公網,如果用Anycast的話,該公網IP用任播形式尋址,在騰訊云的多個節點都發路由,這樣客戶端的包只需要走公網到達最近的騰訊云節點即可,剩下來的路程是走更有保障的騰訊云內網,

所以,AIA的本質,也是把長距離公網傳輸改為自建的內網傳輸,從而實作加速的效果,騰訊云的Anycast IP,可以系結在云服務器上,也可以系結在CLB(Cloud Load Balancer 負載均衡)上,使用跟普通的公網IP相同,非常簡單,
- 用途一:將Anycast IP系結在CLB(負載均衡)上,提供面向玩家的接入服務
- 用途二:將Anycast IP系結在NAT網關,用來加速服務器對外部介面的請求
AIA相比于GAAP,一個顯著的優勢在于部署配置簡單,全域唯一的IP,不需要依賴GeoDNS,后端唯一的服務提供集群,架構清晰,配置容易,但AIA的后端業務,只能是騰訊云上的機器,無法接入第三方服務器(補充一點:如果想接入第三方服務器,可在綁anycast ip的CVM上做轉發代理,可以實作類似混合云的加速效果),
總的來說,GAAP和AIA都能做到全球加速,但是服務的物件可以有區別,配置復雜程度不同,成本和價格不同,Anycast帶寬可以理解為高級版的BGP帶寬【BGP一般是高級線路進行中轉,而Anycast是直連并且也有加速效果】,用戶通常是本來不做加速,但是又希望帶寬質量更好的,而本來就要做加速的人,會傾向于用GAAP,因為他們希望調度要拿在手里,
BGP是一種路由協議, Anycast是一種通信方式, AIA是騰訊的產品
(6)CLB跨地域部署
負載均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分發服務,訪問流量經由 CLB 可以自動分配到云中的多臺云服務器上,擴展系統的服務能力并消除單點故障,負載均衡支持億級連接和千萬級并發,可輕松應對大流量訪問,滿足業務需求, 支持Http,https,UDP,tcp轉發,在不同的地域創建CLB,后端系結在相同的云服務器上,來實作部分加速效果,有點類似于GAAP,配置起來比GAAP和AIA都麻煩,同樣依賴GeoDNS,

————————————————
著作權宣告:本文為CSDN博主「鄧大帥」的原創文章,遵循CC 4.0 BY-SA著作權協議,轉載請附上原文出處鏈接及本宣告,
原文鏈接:https://blog.csdn.net/deng_xj/article/details/109679797
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538525.html
標籤:其他
上一篇:MyBatis詳解(一)
下一篇:java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator 問題解決
