聲明:本文首發于CSDN,禁止未經許可的任何形式轉載,可咨詢文末的責編。
傳統 CDN 自 2000 年誕生起,一直到 2010 年還都處在同一個發展階段,技術并沒有得到很大的提升。其中很多還使用 Squid ,一般在全國有 30 – 40 個左右的節點。前幾年,移動網際網路還沒有發展起來時,通過電信和聯通節點基本上能覆寫全國的使用者,最多 60 個節點就足夠了。而從 2010 年開始,移動網際網路開始普及,使用者量逐年攀升,整個網絡因而就有了加速的需求。
UPYUN 在當時不能滿足這個需求,是以開始建構自己的雲 CDN 系統,該系統在 2010 年開始研發,一直到 2015 年,總共經曆四個疊代的周期。
2010 年,UPYUN CDN 的架構搭建

2010年 UPYUN 由于剛剛起步,節點數量還不是很多,大約三四十個。當時的邊緣節點用 LVS 去做負載均衡,下面每一個節點會布置 5 到 10 台伺服器,這些伺服器中裝的應用系統主要是 ATS 和 Nginx 。
做系統無法回避兩個問題:流量統計和加速規則的配送、配置。UPYUN 當時對 Nginx做了大量開發,比如用 C Modules 做插入。當時使用的是三層架構,從大的架構來看,邊緣有 40 個節點左右。中轉節點大概有四個,如果有更優的路線,它可以快速的去拉取内容。
UPYUN 的中轉機房都是多切入。例如,有一個新疆的電信使用者要通路浙江的電信資料中心,走哪條線路最快?是從新疆直接過來(到浙江),還是從新疆先到北京,再轉到浙江更快呢?中轉節點的一個好處就是可以合并, 40 多個邊緣節點沒必要每個都回到源區,這會導緻源站的帶寬卡頓,也會使得節點規模越來越大,對源站的要求更高。而有了中轉節點,就可以把這層的壓力大大的縮減。
第三層是杭州的資料中心,資料中心裡有 LVS 和 ATS ,ATS 的下一層才是我們的雲存儲。總體的大架構到現在也沒變,隻不過是每一層裡面的系統都變了。
2013 年, UPYUN 的系統調整
UPYUN 所有使用者配置規則集中在資料中心裡面,通過 LVS 把規則推送到所有的邊緣節點, LVS 上面去索取每一個域名的通路規則,不會跟資料中心做互動,直接到節點裡面去擷取資料就行了。
2013 年UPYUN最主要的工作,是将第一代的系統完全改寫。幸虧這件事情當時就做了,不然到了今天接入大量的大客戶就會束手束腳。因為大客戶會有很多定制需求,如果用 C Modules 去滿足,就得安排專人負責,還需要耗費至少一個月的時間去開發、調試等等,會很非常的麻煩。
現在,UPYUN 的開發周期為一周,這裡面還包括測試。UPYUN 系統得到了部署,也是以變得非常的簡單、靈活。如今可以做到每周發一版本,UPYUN 的 CDN 每周都在疊代,每個星期全網跑的業務都在更新。
到了 2013 年,UPYUN 的 CDN 節點從原來的 40 個變成了 60 個。中轉節點也增加到了 8 個,資料中心從 1 個增加到了 2 個。
2014 年, UPYUN 的業務拓展
2014 年 UPYUN 在原來的基礎上得到了很大的增強。主要增強的是中轉節點。
中轉節點在第一、第二代面向客戶時,都包含雲存儲。但是到了 2014 年,UPYUN 開始考慮單獨向外提供雲 CDN 服務,這個勢必會牽扯到直接連接配接特殊的源站,當時的系統架構無法滿足。是以 UPYUN 對于中轉層做了一定的改造,如多加 Nginx 等。中間的部分,對比 2013 年的“ LVS 為第一層 ,下一層是 Nginx ,再下面是 ATS , ATS 直接連到資料中心”這種結構發生了變化:多了一層 Nginx 的邏輯控制。這個域名對應的是 UPYUN 的資料中心或是客戶的源站。
這其中還有很多功能,都做得很細緻。比如多源站、多 IP ,支援熱備,支援負載,支援多個線路的優化等。無論客戶源站是有電信、聯通、移動還是同時都有,UPYUN 都可以支援。使用者甚至可以配置海外的源站,這項功能 12 月份上線,底層已經有了應用。 UPYUN 會針對源站網絡的情況做特殊的路由,使用者隻要選好就可以了。
2014 年也是 UPYUN 雲 CDN 在基礎規模上爆發增長的一年, 2014 年UPYUN的邊緣節點達到了 130 個,中轉節點達到了16 個,資料中心沒有擴張,還是兩個。130 多個邊緣節點所能提供的帶寬備援是一個 T,實體伺服器所能提供的網絡處理能夠達到 1 T 。
2015 年及未來, UPYUN 将大踏步前行
現狀:國際化推進
到了今年, UPYUN 雲 CDN 的系統研發基本成熟,現在更多做的是一些大客戶定制化的需求開發以及對接。
另外還有一條路,是UPYUN運維部門做得最多的,也是今年的重要裡程碑: 2015 年, UPYUN 正式開始對國際加速做鋪設,第一站打通了從香港到浙江的光纖鍊路。如果你是 UPYUN 總部的同僚,你可以在公司網絡或者自己的電腦上鋪上公司的 VPN ,觀看一個 404 網站的高清視訊。4K 的視訊可以流暢到達浙江的網絡裡面。UPYUN所有的 E-Mail 都是谷歌系統的。
此外,上文提到過,UPYUN 支援客戶配置在海外的源站。如果客戶源站在海外,怎麼做加速呢?如果還要過一道牆,這個内容是拉不過來的。UPYUN 在 11 月搞了兩場香港演唱會在大陸的全網直播。這個光纖能夠做到延時僅 30 多毫秒,就可以把這些内容拉到浙江。
在有了香港這麼大的光纖之後,UPYUN 可以接力歐美的核心節點。一個是在美國的洛杉矶,一個是在法國那邊。這兩個節點之間也有光纜:連到美國是海纜,連到法國是路纜。三個骨幹節點形成 UPYUN 雲 CDN 未來國際加速的骨幹網絡。
2016 年UPYUN會在骨幹的基礎上做一個新型發散的鋪點。邊緣節點服務于骨幹,進行開放式的鋪設。比如現在有亞太地區、台灣節點,還有新加坡節點,它們都是依賴于香港的骨幹節點。在美國,UPYUN也鋪設了三個節點,這些邊緣節點會通過骨幹的光纖鍊路再回到UPYUN大的平台裡。
相比之下,歐洲的客戶需求要少一點,是以UPYUN 的政策是優先做好美國,歐洲節點 計劃于 2016 年初啟動。到現在,UPYUN 已經擁有七個國際的加速節點,三個主要的骨幹節點。
未來:第二次爆發
2016 年,UPYUN 将會有自己的 DNS 排程系統。現在的架構有賴于 DNS 做智能地區排程,這無法滿足 UPYUN 的需求,因為公司接下來會有一個二次鋪點的計劃。這意味着 UPYUN 在一個省份、一個線路裡面會有多個機房提供服務。但在這種情況下,沒辦法做到高效率的負載均衡。是以才會有 UPYUN DNS 的系統。
此外就是直播加速。從安全這方面來說,DDoS/CC/WAF 防護上都會做更大的技術、資源投入。比如 DDoS 防護,如果是一般大小攻擊的話,UPYUN 可以默默幫你扛下來。但如果它達到了一定大的規模,UPYUN 就會馬上派銷售人員與客戶溝通,進而做到 10 到 20 分鐘裡排查出具體原因、受到多少的攻擊,并判定該攻擊是否需要持續去保障這個服務,或者可以忽略,暫時選擇終止服務。UPYUN 會與客戶做好需求的溝通工作。
2016年,UPYUN 會更多地聚焦在視訊加速與直播加速方面。這兩方面的技術儲備已經有一年多了:從 2014 年底開始,UPYUN 就在做這方面的技術儲備。比如 UPYUN 的視訊加速目前已經接入不少的 OTC 廠商。使用者家裡的電視機如果是聯想的話,它走的 CDN 就有用 UPYUN 去做加速。另外還有一些電視的盒子,也是基于 UPYUN 的 CDN 去做内容分發。另外,UPYUN 明年還會在直播方面做大的拓展,因為 UPYUN 的網絡已經具備了這個能力。
最後一點,是 UPYUN 的移動應用加速。大家隻要使用移動SDK去做網絡請求,你的網絡性能就起碼能夠得到 20 % 到 30 % 的提升。而且不需要使用 UPYUN 的服務就可以做到,直接連接配接自己的伺服器都即可,因為它是一個 HTTP 協定優化。
分享人:黃慧攀,UPYUN CTO。他是 aLiLua Web 開發架構的作者,有 14 年網際網路從業經驗,技術經驗涵蓋範圍比較廣,早期以前端 Web 開發為主,後期逐漸轉到底層研發方向。
本文整理自 UPYUN CTO 黃慧攀 日前在“UPYUN 架構與運維大會·北京站” 上的主題演講。[UPYUN 架構與運維大會](https://www.upyun.com/archopsconf.html)是國内領先的新一代雲 CDN 服務商 UPYUN 獨家主辦的大型技術會議。大會面向全國運維和架構從業者,邀請業内一線的架構師和運維專家進行純幹貨分享,旨在推動各項運維技術、産品架構等在網際網路和移動網際網路的研發和應用。
(責編/錢曙光,關注架構和算法領域,尋求報道或者投稿請發郵件[email protected],交流探讨可加微信qshuguang2008,備注姓名+公司+職位)
「CSDN 進階架構師群」,内有諸多知名網際網路公司的大牛架構師,歡迎架構師加微信qshuguang2008入群,備注姓名+公司+職位。