掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
眾所周知,使用云存儲+CDN會比直接單臺服務(wù)器成本更低而且體驗會更好。比如某客戶單位有一個視頻模塊,這個視頻模塊平時沒什么人訪問,但活動的時候同一時段在線的人數(shù)可能是幾百人甚至更高。他們原來的技術(shù)服務(wù)商給他們采購的是100MB獨享的,那時候是需要10萬+一年的費用的。剛才看了下阿里云100MB獨享帶寬服務(wù)器費用大概是七八萬(硬件配置很一般的2核心4GB,主要是帶寬費用)。
然而,在此前,他們這個100MB獨享的服務(wù)器幾乎在99%的時間內(nèi)都是浪費掉的。但是,在活動的時候,用戶訪問的體驗會很差。試想一下,即便僅僅只有100人訪問,100MB獨享帶寬滿載運行,平均每個用戶只能得到1MB帶寬資源。如果讓你用1MB帶寬網(wǎng)絡(luò)去看高清網(wǎng)絡(luò)視頻,那種感覺可能在撥號上網(wǎng)的年代可能才會有。而實際上活動的人數(shù)可能是更多,那種體驗可想而知了。
在我們接手項目后,進行了改造。把視頻存儲到云儲存,使用cdn分發(fā)。這樣只有活動期間才需要按流量付費給云服務(wù)廠商,另外99%的時間是幾乎不需要相應(yīng)的成本。然而CDN分發(fā),理論上是沒有最高帶寬限制的。這樣即便是1000個人在線,每個人都能流暢的觀看視頻。
鏡像回源是什么?
在十多年前的網(wǎng)站底部,很多網(wǎng)站都會寫上“禁止鏡像”,所謂鏡像我們可以理解為復(fù)制,當(dāng)然并不是復(fù)制整個網(wǎng)站,而是復(fù)制網(wǎng)站可公開的資源(如前端代碼、圖片、視頻、附件等)。鏡像回源則是我們的網(wǎng)站資源并不是直接上傳到云存儲,而是先跟傳統(tǒng)網(wǎng)站一樣傳到自己的網(wǎng)站服務(wù)器上面,然后用戶訪問請求是發(fā)送給云存儲。云存儲會自行判斷,如果空間里面有則直接提供給用戶,如果沒有則先從源站把相應(yīng)的資源給鏡像過來,然后再分發(fā)給用戶。
這里順便列舉幾種場景的附件資源(圖片、附件、視頻、前端代碼)部署方式。
1、最傳統(tǒng)的直接上傳到網(wǎng)站服務(wù)器由網(wǎng)站服務(wù)器直接分發(fā)資源給用戶。這種方式受制于網(wǎng)站服務(wù)器本身的帶寬資源,如果帶寬較低,只要多幾用戶訪問就會變得很卡。甚至頁面稍微大一點,哪怕只有一個用戶訪問,訪問也會比較慢,因為有一些小網(wǎng)站的服務(wù)器帶寬可能只有2MB。
2、按傳統(tǒng)方式直接上傳到網(wǎng)站服務(wù)器,但使用CDN分發(fā)資源給用戶。其中一種典型的方式就是鏡像回源了,在網(wǎng)站前端顯示給用戶的資源請求路徑并非源站(也就是網(wǎng)站服務(wù)器),而是CDN。這樣當(dāng)用戶發(fā)送請求資源的請求后,云存儲服務(wù)或自動判斷當(dāng)前存儲空間是否有用戶所需的資源,如果有直接提供給用戶;如果沒有則從源站拉取后提供給用戶。這種方式比較適合小文件的操作,當(dāng)然視頻類大文件也可以如此操作,但需要異步處理,此外也比較浪費存儲空間。
因此,這種方式,第一個訪問資源的用戶,由于云存儲還需要從源站獲取資源,然后在分發(fā)給用戶。這樣一來首個用戶訪問的理論時間可以粗略的等于從網(wǎng)站服務(wù)器獲取資源的時間+從cdn獲取資源的時間。所以,使用CDN鏡像回源后首個用戶訪問會比較慢。
3、發(fā)布者直接上傳到云存儲,然后通過關(guān)聯(lián)的CDN分發(fā)給用戶。這種方式對于這些資源而言相當(dāng)于沒有經(jīng)過網(wǎng)站服務(wù)器,不受網(wǎng)站服務(wù)器的任何限制。比較適合視頻等較大文件的處理,而且發(fā)布者在上傳資源的時候也會很快,因為云存儲的下行帶寬是遠高于網(wǎng)站服務(wù)器的(雖然一般網(wǎng)站服務(wù)器也會提供比較高的免費下行帶寬)。
為什么,在一些網(wǎng)站上我們使用了鏡像回源的技術(shù)實現(xiàn)方式?
這些網(wǎng)站一般是諸如官網(wǎng)類的結(jié)構(gòu)比較簡單的網(wǎng)站,這種方式比較簡單,而且已有的網(wǎng)站進行改造成本也很低。更重要的是,即便客戶拿回去自己部署,也不需要考慮那么多,他也可以部署成不使用CDN方式,而這些過程不需要進行復(fù)雜配置,只需要關(guān)閉一個網(wǎng)站設(shè)置開關(guān)即可。
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流