隨后,為了進(jìn)一步緩解糗百源站的I/O壓力,糗百對舊有系統(tǒng)做了一次版本升級,將新系統(tǒng)的圖片存儲直接放在七牛平臺上。新版本的用戶可以順暢地將數(shù)據(jù)上傳到七牛平臺上,并實(shí)現(xiàn)訪問,而舊系統(tǒng)的App版本還會有一部分用戶在使用。這時,就要在一段時間內(nèi)保證兩套系統(tǒng)可用。但舊系統(tǒng)的App用戶所產(chǎn)生的數(shù)據(jù)還是會被上傳到糗百的自建平臺中,在用戶第一次訪問這些數(shù)據(jù)時,鏡像存儲服務(wù)對糗百源站做回源,很好地確保了這部分?jǐn)?shù)據(jù)的可用性。由于目前App客戶端的版本更新速度比較快,因此在所有用戶都更新成新版系統(tǒng),源站的回源流量逐漸趨于0時,就可以將鏡像功能刪除了。

就這樣,在用戶毫無感知的情況下,糗百輕松實(shí)現(xiàn)了對圖片存儲的遷移,平穩(wěn)地解決了圖片中心磁盤I/O的瓶頸問題。

鏡像存儲的使用方法

假設(shè)源站所有的圖片,放在一個叫img.example.com的子域里。那么平滑遷移的方式是:

在七牛上建立一個鏡像bucket,設(shè)定源站為img.example.com。假設(shè)鏡像bucket是example-img,到空間設(shè)置的域名設(shè)置中即可找到形式為7xiuqc.com1.z0.glb.clouddn.com的七牛域名

將所有對外使用的圖片的域名改為7xiuqc.com1.z0.glb. clouddn.com;

如果網(wǎng)站數(shù)據(jù)是UGC(用戶產(chǎn)生內(nèi)容)的,調(diào)整上傳流程,傳到七牛的鏡像 bucket,這樣源站就變成只讀;

使用qrsync同步工具將歷史數(shù)據(jù)全部同步到七牛的鏡像bucket。

如此就完成了整個遷移過程。此時img.example.com這個源站就可以廢棄不用了。

結(jié)語

相信數(shù)據(jù)資源高速增長這樣的“甜蜜負(fù)擔(dān)”,是很多企業(yè)都會遇到的。而如何借助云服務(wù)來合理擴(kuò)容,如何在不中斷服務(wù)的前提下,平滑地實(shí)現(xiàn)數(shù)據(jù)遷移,將成為決定企業(yè)未來命運(yùn)的關(guān)鍵一環(huán)。七牛云存儲不僅能為企業(yè)用戶穩(wěn)定高效的底層存儲平臺,鏡像存儲等優(yōu)質(zhì)的服務(wù)更能在數(shù)據(jù)遷移過程中提供強(qiáng)大的助力。此外,完成數(shù)據(jù)遷移之后,七牛提供的豐富的圖片、音視頻處理功能也為包括糗百在內(nèi)的諸多企業(yè)帶來了很大的驚喜。后續(xù)我們將專門撰文分享這部分內(nèi)容。

分享到

fanz

相關(guān)推薦