從起步到爆發,UPYUN雲CDN架構演進之路

2021-09-17 19:15:48 字數 4124 閱讀 3388

雲cdn,是一種依託強大雲計算平台而構建的先進的流量分配網路,可有效解決 internet網路擁擠的狀況,提高使用者訪問**等應用服務的響應速度,使內容傳輸的更快速更穩定,同時提高服務可用性,並改善網際網路上的服務質量。如今,cdn已經成為目前構成網際網路基礎的環節之一。移動網際網路也讓它的角色變得更為重要。它所帶來的加速效果,在今天以速度構成的使用者體驗中,可以說直接影響著企業的使用者認同度,速度慢則會導致使用者的流失。而在對upyun(又拍雲)來說,cdn能做的遠不止加速這麼簡單。cdn與雲的結合使得cdn能夠提供更加豐富的服務,它為企業帶來的功能也更具價值,upyun把這種全新的服務定義為新一代的cdn加速服務。

\\ 2023年之前,中國移動的網路基礎設施還未大規模興起,中國聯通和中國電信的節點基本上可以覆蓋到全國的使用者,區區的60個節點基本上就可以做到全國覆蓋了。從2023年開始,中國移動的網路基礎設施開始實現大規模覆蓋,使用者數量有了大規模的增長,因此網路加速需求開始呈現逐年旺盛的態勢。然而傳統的cdn服務2023年誕生開始,直到2023年,技術並沒有得到很大的提公升。由於當時cdn服務無法滿足upyun大部分的工作需求,因此upyun開始思考並著手構建自己的雲cdn服務。在2023年之前,upyun對外宣稱的品牌形象始終停留在提供「儲存」服務的階段,一直到2023年,upyun才將自己對外的品牌形象設為「雲服務」,其主打產品為「雲cdn」服務。upyun的雲cdn系統早在2023年就開始研發,一直到2023年,總共經歷了4年的研發週期。在這四年期間,基本上每年都會有一次技術上的迭代。

\\2023年,起步階段:

\\ 2023年,upyun的雲cdn節點數量只有35個,處於剛剛起步的階段,基本和業內持平。前端的邊緣節點使用lvs來進行負載均衡,下面每乙個節點布設5-10臺伺服器,伺服器應用系統採用nginx和ats系統。由於對於乙個cdn系統來說,無法避免的兩個功能是流量統計和內容規則的推送與配置,因此早在2023年開始upyun就針對nginx系統進行了大量的設計開發:使用c modules去做業務功能的插入。

\\ 圖1.2023年,upyun雲cdn架構(源自upyun 黃慧攀)

\\\\

從整體架構的角度來看,從2023年起,upyun就開始使用三層架構:

\\ 1. 邊緣層,包括40個節點左右。

\\ 2. 中轉層,包括4個節點。中轉層不僅使得前端使用者在回源時便於尋找更優的路線到達源站進行內容的拉取;同時還便於合併節點與路線,無需每個邊緣節點都直接回歸源站,從而避免源站的頻寬堵塞;並且隨著節點規模增大,中轉節點可幫助源站分擔壓力,利於源站壓力的縮減。

\\ 3. 資料中心層,該層使用nginx和ats應用系統,並向下連線upyun雲儲存系統。因此,整個的資料快取有三層:資料中心快取,中轉層快取以及邊緣層快取。

\\2023年,基礎建設階段:

\\ 2023年,upyun由原來的c modules改為使用lua來開發業務模組,並在系統中引入redis集群來開發整個公網的push推送規則,所有的使用者規則配置都集中在使用者中心裡面,並通過redis將所有規則推送至邊緣層,邊緣層的每個節點只需到redis中心獲取網域名稱的訪問規則即可,無需通過nginx與資料中心進行任何互動。

\\ 圖2.2023年,upyun雲cdn架構(源自upyun 黃慧攀)

\\\\

2023年,upyun的主要工作都放在了原有的系統完全改進:即用lua modules去改寫整個c modules。這件事成功地使得upyun面對大量客戶化定製需求時,能將原有乙個月的開發除錯週期縮短為只有一周,系統部署也變得簡單靈活了。

\\ 2023年,upyun不僅在軟體方面有乙個大的飛躍,在硬體方面也由原有的40個邊緣節點增加為60個節點,中轉節點也由原有的4個增加為8個,資料中心由原有的1個變為了2個。

\\2023年,爆發階段:

\\ 2023年對於upyun來說是業務大規模拓展與增強的一年。其中主要增強的是整個系統中的中轉節點這一層。由於在第一代雲cdn系統和第二代雲cdn系統中,所需面對的只有雲儲存系統乙個,但在2023年,upyun開始嘗試向外延更更多的雲cdn服務,這勢必需要連線到客戶的源上,並進一步連線到原系統的lua上去,所以upyun研發團隊在中轉層中多新增了一層」nginx + lua modules」邏輯控制,這樣做的目的主要是為了判斷其網域名稱對應的是客戶的源還是upyun的資料中心。當然在其中還會涉及很多功能細節:例如多源站可以支援熱備、雲群負載以及多個線路的優化等功能。其中多線路優化是指支援判斷不同的邊緣節點以及所連線的中轉節點之間究竟是什麼線路,客戶源站是什麼型別的運營商(電信、聯通還是移動),甚至可以將客戶源站配置為海外源站。總而言之,upyun會根據客戶源站的情況進行特殊路由的設定,只需使用者進行自主選擇即可,該功能將於2023年12月對外發布。

\\ 圖3.2023年,upyun雲cdn架構(源自upyun 黃慧攀)

\\\\

2023年也是upyun的雲cdn在基礎設施上爆發的年份。截止於2023年,雲cdn的邊緣節點達到了130個,中轉節點達到了16個,這130個邊緣節點所能夠提供的頻寬能夠達到1t,即物理伺服器的網路處理能力可以達到1t的頻寬。

\\2015年,國際化推高階段:

\\ 2023年,整個upyun雲cdn的基礎研發已經達到了穩定成熟的狀態,並逐步開始進行國際化推進。一方面,upyun公司將工作重心放在了大客戶的定製開發和客戶對接的工作上來;另一方面, upyun正式開始為國際網路加速進行鋪設。首先第一站就打通了從香港到浙江的光纖鏈路,並成功地針對中國內地的客戶進行網路加速。例如在2023年11月由upyun承辦的兩場香港演唱會的大陸直播網路加速服務,首先需要考慮的就是如何把香港的內容快速地推送到內地,目前可以做到僅僅30毫秒的延遲就能將香港的內容推送到浙江的使用者源站。

\\ 圖4.2023年,upyun雲cdn架構(源自upyun 黃慧攀)

\\\\

隨著香港的光纖鏈路的成功建立,接下來upyun又著手建立歐美的核心節點,乙個節點位於美國的洛杉磯,另乙個位於法國,這三個國際節點的落地基本形成了upyun雲cdn的國際加速骨幹網路。與此同時,upyun還準備於2023年在三個國際節點的基礎上完成節點星形網路的擴張。迄今為止台灣和新加坡節點建設均已取得不小的進展,而這兩個地區正是以香港核心節點為基礎的;美國也鋪設了3個邊緣節點,這3個邊緣節點將首先通過美國骨幹節點,再與中國大陸取得通訊;歐洲節點擴張工作也將於明年初啟動。迄今為止,upyun已經擁有7個國際加速節點,3個國際骨幹節點。

\\2016年,第二次爆發階段:

\\ 2023年, upyun將此定義為第二次爆發階段。在這一年,upyun將會持續進行軟體層面建設,其中乙個比較大的目標就是建立專屬的dns排程系統。由於現階段的dns的主要目的為智慧型地區排程,該智慧型排程的技術架構需要進行乙個二次鋪點的計畫——即在同乙個省份或線路中會布設多個機房提供服務,為了兼顧到高效率的負載均衡控制,upyun計畫於明年開發專屬的dns系統。

\\ 圖5.2023年,upyun雲cdn展望(源自upyun 黃慧攀)

\\\\

關於ddos/cc/waf等安全防護方面,upyun也將會做更大的技術投入和資源投入。upyun的cto黃慧攀稱,一旦使用者受到了大規模的攻擊,upyun會有專人前去與客戶進行溝通,並在10到20分鐘內排查具體原因,受到攻擊的體量,幫助客戶判斷是否持續保障服務還是暫停服務。

\\結語:

\\ 從2023年到2023年,短短幾年間,upyun的雲cdn產品經歷了從無到有、從小到大、直到邁向國際化舞台的過程,離不開技術在背後的強力支撐,以及整個團隊不斷總結、思考的態度以及探索的精神。upyun雲cdn的技術架構演進之路,對於當今不斷創新、不斷轉型的網際網路行業也是很好的啟示。

\\

虛擬記憶體技術 從起因到優化

隨著應用程式的不斷公升級,其在電腦中所佔的記憶體也急劇增大,但是計算機記憶體大小的增長速度難以跟上,為了能在有限的記憶體中執行盡可能多的程式,計算機科學家提出了各種記憶體管理技術來盡可能適應這種情況。覆蓋技術目的是使得單個程式盡可能少的占用記憶體資源,要求程式設計師在 中指定記憶體的使用與釋放,對 ...

Vue零基礎到入門 起步

vue 不支援ie8及以下版本 我們可以用 v on 指令新增乙個事件 通過它呼叫在 vue 例項中定義的方法 v on click 可以簡寫為 click v bind title message 你看到的 v bind attribute 被稱為指令。指令帶有字首 v 以表示它們是 vue 提供...

Redis勒索事件爆發,如何避免從刪庫到跑路

一 做好資料庫攻擊的事前預防 二 加強資料庫攻擊的事中防護 三 做好事後審查糾正 一旦入侵行為發生,除了採取必要措施進行資料容災恢復 封堵。我們我們需要容災恢復方案,順利將資料庫恢復到被入侵前的時間點,再結合安全產品,確保系統堅不可摧,我們需要乙個詳細的審計日誌的記錄和儲存,就是回溯和確認攻擊源頭,...